[ https://issues.apache.org/jira/browse/KAFKA-3816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15323179#comment-15323179 ]
Randall Hauch commented on KAFKA-3816: -------------------------------------- One example of a set of 3 parameters would work for connectors and (hopefully) framework components: * {{scope}} - A short alias for the type of connector or framework component. For example, {{jdbc}}, {{file}}, {{mysql}}, {{mongo}}, {{postgres}}, etc. for connector types, or {{config}}, {{monitor}}, {{worker}}, etc. for framework components. * {{component}} - The name of the component, such as the connector or component name. Ideally all threads for a single connector would use the same value. * {{componentContext}} - A short name for a separate thread running within the connector's task. For example, {{main}} for the SourceTask implementation class, or the thread name for threads that each handle multiple source resources (e.g., tables, collections, etc.). In some cases when a thread is allocated for a specific resource (e.g., table or collection), the name of that resource could be used instead. Each thread associated with a connector would use a distinct value. Thus, a log message for a MySQL connector named "product-connector" might have log messages that look like: {code} 2016-06-09 16:56:52,191 INFO MySQL|product-connector|snapshot Started snapshot 2016-06-09 16:56:52,192 INFO MySQL|product-connector|snapshot Completed snapshot 2016-06-09 16:56:52,193 INFO MySQL|product-connector|binlog Started reading binlog {code} I'm not sure if this is sufficient to handle all framework contexts, though. > Provide more context in Kafka Connect log messages > -------------------------------------------------- > > Key: KAFKA-3816 > URL: https://issues.apache.org/jira/browse/KAFKA-3816 > Project: Kafka > Issue Type: Improvement > Components: KafkaConnect > Affects Versions: 0.9.0.1 > Reporter: Randall Hauch > Assignee: Ewen Cheslack-Postava > > Currently it is relatively difficult to correlate individual log messages > with the various threads and activities that are going on within a Kafka > Connect worker, let along a cluster of workers. Log messages should provide > more context to make it easier and to allow log scraping tools to coalesce > related log messages. > One simple way to do this is by using _mapped diagnostic contexts_, or MDC. > This is supported by the SLF4J API, and by the Logback and Log4J logging > frameworks. > Basically, the framework would be changed so that each thread is configured > with one or more MDC parameters using the > {{org.slf4j.MDC.put(String,String)}} method in SLF4J. Once that thread is > configured, all log messages made using that thread have that context. The > logs can then be configured to use those parameters. > It would be ideal to define a convention for connectors and the Kafka Connect > framework. A single set of MDC parameters means that the logging framework > can use the specific parameters on its message formats. -- This message was sent by Atlassian JIRA (v6.3.4#6332)