The advantage of having per-service API log files is that it is very easy to analyze/monitor what went wrong in this particular Proxy Service a particular REST API defined in the ESB by looking at the service log files. Enabling this feature will not terminate the wso2-esb.log
file being keeping the logs about this service, the complete log will contain every log statement including the service logs that you have configured to be logged into a different log file. In other words, the service log is an additional log file, which will contain a copy of the logs to that particular service.
Follow the instructions below to configure the logs of a particular service (to be more specific a Proxy Service) REST API to be logged into a given log file.1. See Sample 150 in Proxy Service Samples.
It has a Proxy Service named StockQuoteProxy
.
...
- Configure
log4j
to log the
...
- API specific logs to a file called
stock-quote-proxy-service.log
in the logs directory of the ESB installation directory.
...
Open up the
log4j.properties
file found in the/repository/conf
directory of the WSO2 ESB installation directory using your favorite text editor and add the following section to the end of the file
...
.
Code Block log4j.category.API_LOGGER=INFO, API_APPENDER log4j.additivity.API_LOGGER=false log4j.appender.API_APPENDER=org.apache.log4j.RollingFileAppender log4j.appender.API_APPENDER.File=${carbon.home}/repository/logs/${instance.log}/wso2-esb-api${instance.log}.log log4j.appender.API_APPENDER.MaxFileSize=1000KB log4j.appender.API_APPENDER.MaxBackupIndex=10 log4j.appender.API_APPENDER.layout=org.apache.log4j.PatternLayout log4j.appender.API_APPENDER.layout.ConversionPattern=%d{ISO8601} [%X{ip}-%X{host}] [%t] %5p %c{1} %m%n
Code Block |
---|
log4j.category.SERVICE_LOGGER.StockQuoteProxy=DEBUG, SQ_PROXY_APPENDER log4j.additivity.SERVICE_LOGGER.StockQuoteProxy=false log4j.appender.SQ_PROXY_APPENDER=org.apache.log4j.DailyRollingFileAppender log4j.appender.SQ_PROXY_APPENDER.File=logs/stock-quote-proxy-service.log log4j.appender.SQ_PROXY_APPENDER.datePattern='.'yyyy-MM-dd-HH-mm log4j.appender.SQ_PROXY_APPENDER.layout=org.apache.log4j.PatternLayout log4j.appender.SQ_PROXY_APPENDER.layout.ConversionPattern=%d{ISO8601} \[%X{ip}-%X{host}\] \[%t\] %5p %c{1} %m%n |
21.2. Save the file.
3. Try it out. By default, the configuration does not do any logging at run time, so configure the Proxy Service in-sequence to contain a log mediator to log the message at "Full" log level.
...