There are two ways of configuring
Log4j in WSO2 Carbon. Either by manually editing the
log4j.properties file or through the Management Console. Changes you made to
Log4j configuration through the Management Console are persisted in WSO2 Registry, therefore those changes will be available after server restarts. There is also an option to restore the original
Log4j configuration from the
log4j.properties file using the Management Console. But if you modify the
log4j.properties file and restart the server, you will see the changes you have made. That means the earlier
log4j configuration persisted in the registry is overwritten.
Follow the instructions below to set up logging.
1. Sign in. Enter your user name and password to log on to the Management Console.
2. Click the "Configure" button to access the "Configure" menu.
3. From the "Configure" menu, select "Logging."
4. The "Logging Configuration" window appears.
If you select the "Persist All Configurations Changes" check box, all the modifications will be persisted and they will be available even after a server restart.
5. The "Logging Configuration" window has three sections:
- Global Log4J Configuration
- Configure Log4J Appenders
- Configure Log4J Loggers
Using these sections, you can configure the layout and the amount of information about the system activity you want to receive.
Global Log4J Configuration
This section allows you to assign a single log level and log pattern to all loggers.
- Log Level - Reflects a minimum level that this logger cares about. You can view the hierarchy of levels #below.
- Log Pattern - Defines the output format of the log file.
Configure Log4J Appenders
This section allows you to configure appenders.
Log4j allows logging requests to print to multiple destinations. These output destinations are called "Appenders." You can attach several appenders to one logger.
- Name-The name of an appender. By default, WSO2 Governance Registry comes with the following log appenders configured:
- CARBON_CONSOLE - Logs to the console when the server is running.
- CARBON_LOGFILE - Writes the logs to
- CARBON_SYS_LOG - Allows separation of the software that generates messages from the system that stores them and the software that reports and analyzes them.
- Log pattern - Defines the output format of the log file.
- Threshold - Filters log entries based on their level. For example, threshold set to "WARN" will allow log entry to pass into appender if its level is "WARN," "ERROR" or "FATAL," other entries will be discarded.
Hierarchy of Levels:
- TRACE - Designates finer-grained informational events than the DEBUG.
- DEBUG - Designates fine-grained informational events that are most useful to debug an application.
- INFO - Designates informational messages that highlight the progress of the application at coarse-grained level.
- WARN - Designates potentially harmful situations.
- ERROR - Designates error events that might still allow the application to continue running.
- FATAL - Designates very severe error events that will presumably lead the application to abort.
Configure Log4J Loggers
This section allows you to browse through all loggers and define a log level and switch on/off additivity to any of them.
- Logger - The name of a logger.
- Parent Logger - The name of a parent logger.
- Level - Allows to select level (threshold) from the drop-down menu. After you specify the level for a certain logger, a log request for that logger will only be enabled if its level is equal or higher to the logger’s one. If a given logger is not assigned a level, then it inherits one from its closest ancestor with an assigned level. See hierarchy of levels above.
- Additivity - Allows to inherit all the appenders of the parent Logger if set as "True."
In this section, loggers can be filtered by the first characters (use the "Starts With" button) of by a combination of characters (use the "Contains" button).