I have a Java web application that currently uses Log4J for logging. I would like to use Apache Chainsaw to remotely view and analyze logs. Until now, it has been difficult for me to understand how to configure the client part (Chainsaw client) and the server part (log4j configuration in my web application) to successfully enable remote logging.
Here is what I have tried so far.
Server side log4j configuration
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration debug="true"> <appender name="myRFA" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/logs}/my.log"/> <param name="Append" value="false" /> <param name="MaxFileSize" value="10MB"/> <param name="MaxBackupIndex" value="10"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{ISO8601} %p - [%X{LoggingId}] - %t - %c - %m%n"/> </layout> </appender> <appender name="SOCKET" class="org.apache.log4j.net.SocketAppender"> <param name="Port" value="4445"/> <param name="RemoteHost" value="localhost"/> <param name="ReconnectionDelay" value="60000"/> <param name="Threshold" value="DEBUG"/> </appender> <logger name="com" additivity="false"> <level value="warn"/> <appender-ref ref="myRFA"/> </logger> <logger name="org" additivity="false"> <level value="warn"/> <appender-ref ref="myRFA"/> </logger> </log4j:configuration>
Chainsaw Client Configuration
I created a new receiver with the following properties
name=SOCKET port=4445
I admit that I really don't understand how all this should work. Is Chainsaw polling a remote server? Does the remote server connect to Chainsaw and click events on it?
Guidance, links to simple tutorials or alternative tools will be appreciated.
java logging log4j apache-chainsaw
braveterry
source share