add logger protocol