Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.8.2.0
-
None
-
None
Description
Using a logging trait, as many components in the codebase do, destroys call site information in logging message making debugging certain kinds of failures annoying in production systems. Most messages end up look like:
2015-06-18 07:41:11,550 (kafka-request-handler-0) [WARN - kafka.utils.Logging$class.warn(Logging.scala:83)] Partition [events,1] on broker 1: No checkpointed highwatermark is found for partition [events,1]
I think the mental overhead of issuing the standard incantation of private static final Logger logger = LoggerFactory.get(Foo.class) (or the even shorter Scala equivalent) for each class is outweighed by the operational overhead of mapping strings back to their original call sites. This is an easy win improve the traceability of complex failures in production deployments.
Attachments
Issue Links
- relates to
-
KAFKA-1351 String.format is very expensive in Scala
- Open
-
KAFKA-2992 Trace log statements in the replica fetcher inner loop create large amounts of garbage
- Resolved