This topic explains how VMware Tanzu GemFire logging works.
Tanzu GemFire 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 Tanzu GemFire 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. Tanzu GemFire uses the Core backend to run three custom Log4j 2 Appenders: GeodeConsole, GeodeLogWriter, and GeodeAlert.
Tanzu GemFire has been tested with Log4j 2.18.0.
Tanzu GemFire requires the log4j-api-2.18.0.jar
and log4j-core-2.18.0.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 Tanzu GemFire 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-*
Tanzu GemFire 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-*
Tanzu GemFire properties and the alert level that is configured within the JMX Management and 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 Configuring Log4j 2 for VMware GemFire for more details.