Set Up Logging
You configure logging in a member’s gemfire.properties
or at startup with gfsh
.
Before you begin, make sure you understand Basic Configuration and Programming.
- Run a time synchronization service such as NTP on all Geode host machines. This is the only way to produce logs that are useful for troubleshooting. Synchronized time stamps ensure that log messages from different hosts can be merged to accurately reproduce a chronological history of a distributed run.
- Use a sniffer to monitor your logs Look for new or unexpected warnings, errors, or severe messages. The logs output by your system have their own characteristics, indicative of your system configuration and of the particular behavior of your applications, so you must become familiar with your applications’ logs to use them effectively.
Configure member logging in each member’s
gemfire.properties
as needed:# Default gemfire.properties log file settings log-level=config log-file= log-file-size-limit=0 log-disk-space-limit=0
Note: You can also specify logging parameters when you start up members (either locators or servers) using the
gfsh
command-line utility. In addition, you can modify log file properties and log-level settings while a member is already running by using the alter runtime command.- Set
log-level
. Options aresevere
(the highest level),error
,warning
,info
,config
, andfine
. The lower levels include higher level settings, so a setting ofwarning
would logwarning
,error
, andsevere
messages. For general troubleshooting, we recommend setting the log level atconfig
or higher. Thefine
setting can fill up disk rather quickly and impact system performance. Usefine
only if necessary. Specify the log file name in
log-file
. This can be relative or absolute. If this property is not specified, the defaults are:- Standard output for applications
For servers, the default log file location is:
working-directory/server-name.log
By default, when starting a server through
gfsh
, the working -directory corresponds to the directory (named after itself) that the cache server creates upon startup. Alternatively, you can specify a different working directory path when you start the cache server. The server-name corresponds to the name of the cache server provided upon startup.For a standalone locator, the default log file location is:
working-directory/locator-name.log
By default, when starting a locator through
gfsh
, the working -directory corresponds to the directory (named after itself) created when the locator starts up. Alternatively, you can specify a different working directory path when you start a locator. The locator-name corresponds to the name of the locator provided upon startup. If you are using a colocated or embedded locator, the locator logs will be part of the member’s log file.
For the easiest logs examination and troubleshooting, send your logs to files instead of standard out. Note: Make sure each member logs to its own files. This makes the logs easier to decipher.
Set the maximum size of a single log file in
log-file-size-limit
. If not set, the single, main log file is used. If set, the metadata file, the main log, and rolled child logs are used.Set the maximum size of all log files in
log-disk-space-limit
. If non-zero, this limits the combined size of all inactive log files, deleting oldest files first to stay under the limit. A zero setting indicates no limit.
- Set
If you are using the
gfsh
command-line interface,gfsh
can create its own log file in the directory where you run thegfsh
orgfsh.bat
script. By default, gfsh does not generate log files for itself. To enable gfsh logs, set the following system property to the desired log level before starting gfsh:export JAVA_ARGS=-Dgfsh.log-level=[severe|warning|info|config|fine|finer|finest]
gfsh log files are named
gfsh-0_0.log
.