Direct Logs to Remote System With Log4j

DZone 's Guide to

Direct Logs to Remote System With Log4j

If an application is running on a remote system, you need the logs on your local machine. Learn how to do direct logs to whichever machine you desire.

· Performance Zone ·
Free Resource

Logging is one of the most important aspects of developing programs. Logs provide us with information about the behavior of programs, whether the behavior is expected or not.

Log4j is a very popular package for logging purpose written in Java. (Note: This article assumes that you are familiar with Log4j and already using Log4j.)

Sometimes, we need the logs on different machines. Let's consider that the application is running on a remote system and we need the logs on our local machine.

Hence, the following question arises.

How Can I Direct Logs to a Desirable Machine?

There are some simple steps to do this:

Change the log4j.properties files on the sender side. Use SocketAppender to direct logs to another machine. See the following log4j.properties files:

log4j.rootLogger=DEBUG, server

Modify the log4j-reciever.properties files on the reciever side. See the following file:

log4j.rootLogger=DEBUG, file
log4j.appender.file.layout.ConversionPattern=[%d] [%t] [%m]%n

Run the following command on the reciever side:

java -classpath log4j-path.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-reciever.properties

After this setup, run your program/application, and you will get logs at your desirable machine.

log4j ,logging ,performance ,tutorial

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}