How Geode Logging Works
Apache Geode uses Apache Log4j 2 as the basis for its logging system.
Geode uses Apache Log4j 2 API and Core libraries as the basis for its logging system. Log4j 2 API is a popular and powerful front-end logging API used by all the Geode classes to generate log statements. Log4j 2 Core is a backend implementation for logging; you can route any of the front-end logging API libraries to log to this backend. Geode uses the Core backend to run three custom Log4j 2 Appenders: GeodeConsole, GeodeLogWriter, and GeodeAlert.
Geode has been tested with Log4j 2.17.2.
Geode requires the
log4j-api-2.17.2.jar
and log4j-core-2.17.2.jar
JAR files to be in the classpath.
Both of these JARs are distributed in the <path-to-product>/lib
directory and included in the appropriate *-dependencies.jar
convenience libraries.
AlertAppender is the component that generates Geode alerts that are then managed by the JMX Management and Monitoring system. See Notification Federation for more details.
LogWriterAppender is the component that is configured by all the log-*
Geode properties such as log-file
, log-file-size-limit
and log-disk-space-limit
.
Both of these appenders are created and controlled programmatically. You configure their behavior with the log-*
Geode properties and the alert level that is configured within the JMX Management & Monitoring system. These appenders do not currently support configuration within a log4j2.xml
config file.
Advanced users may wish to define their own log4j2.xml
. See Advanced Users—Configuring Log4j 2 for Geode for more details.