anchor.diff:  :icons: font
   :source-highlighter: highlight.js
   
  -Debezium has extensive logging built into its connectors, and you can easily change the logging configuration to control which of these log statements appear in the logs and where those logs are sent. Debezium (and Kafka, Kafka Conect, and Zookeeper) use the ubiquitous https://logging.apache.org/log4j/1.2/[Log4J] logging framework for Java. You configure Log4J for the whole Java application.
  +Debezium has extensive logging built into its connectors, and you can easily change the logging configuration to control which of these log statements appear in the logs and where those logs are sent. Debezium (and Kafka, Kafka Conect, and Zookeeper) use the ubiquitous https://logging.apache.org/log4j/1.2/[Log4J] logging framework for Java. 
  +
  +By default the connectors produce a fair amount of useful information on startup, but then produce very few logs when the connector is simply keeping up with the source databases. This is often sufficient when the connector is operating normally, but likely is not be enough when the connector is behaving unexpectedly. In such cases, you can "turn on debug or trace logging" so that the connector generates much more verbose log messages describing what the connector is doing and what it is not doing.
   
   == Logging concepts
   
  
positive.code: 1. `DEBUG` - more detailed activity that would be useful in diagnosing unexpected behavior
  1. `TRACE` - very verbose and detailed activity (usally very high volume)
  
  Log4J also allows you to define multiple _appenders_, which are essentially destinations where log messages will be written. Each appender controls the format of the log messages.
  
  To customize logging, you specify the desired level for each logger and the appender(s) where those log messages should be written. Since loggers are hierarchical, the configuration for the root logger serves as a default for all of the loggers below it, although you can override any child (or decendant) logger.
  
  == Example logging configuration
  
  
negative.code: 
  For the most part, the Debezium code sends its log messages to loggers with names that match the fully-qualified name of the Java class that is generating the log message. This normally works well, since we use packages to organize code with similar or related functions.
  
  This means that you can easily control all of the log messages for a specific class or for all of the classes within or under a specifi package. For example, to turn on debug logging for the _entire_ MySQL connector (and the database history implementation used by the connector) might be as simple as adding the following line(s) to your `log4j.properties` file:
  
  [listing,indent=0,options="nowrap"]
  ----
  