Logging

Reflection ZFE uses Log4J 2.9.1 to implement logging. Log4J has its own configuration file and documentation. The configuration file, located in ReflectionZFE/sessionserver/conf/log4j2.xml, has a number of logging levels configured for output, and contains comments about the type of information that you can gather by changing logging levels.

For more information, see the Log4J documentation.

The default logging (log4j) configurations are:

  • Log file output is saved to logs/server.log

  • In addition to logging to the server.log file, all console output is captured by the Reflection ZFE session server and stored in a file on disk.

  • The configuration for how the console output is stored on file in ReflectionZFE/sessionserver/conf/container.conf.

    The file storage configuration properties include, but are not limited to the following (there are comments in container.conf that provide more information):

    • wrapper.logfile - the location of the captured log file (default is .../logs/server.log)

    • wrapper.logfile.rollmode - the mechanism in which the existing log file is stored as a backup and a new file is created (default is rolling over when the log file reaches a certain size and storing the rolled over log file with a roll number modifier)

    • wrapper.logfile.maxsize - the maximum size the log file can reach before it is rolled over (default is 10MB)

    • wrapper.logfile.maxfiles - the maximum number of rolled log files to keep on disk (default is 10)

  • There are various types of logging levels you can use to produce different types of information. Log4j supports the following levels (these definitions are taken from the Log4j documentation where you can find more detailed information:

    • Trace - this level designates finer-grained informational events than Debug

    • Debug - this level designates fine-grained informational events that are most useful to debug an application.

    • Info - This level designates informational messages that highlight the progress of the application at coarse-grained level.

    • Warn - This level designates potentially harmful situations.

    • Error - This level designates error events that might still allow the application to continue running.

    • Fatal - This level designates very severe error events that will presumably lead the application to terminate.