DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • From 13,000 to 20,000+ Endpoints: Architecting Forensics for the Remote Workforce
  • Supercharge AI Workflows on Azure: Remote MCP Tool Triggers + Your First TypeScript MCP Server
  • Remote Android Management: A Step-by-Step Guide
  • The Impact of Asynchronous Work on Engineering Innovation

Trending

  • Jakarta EE 12: Entering the Data Age of Enterprise Java
  • AI Paradigm Shift: Analytics Without SQL
  • Dear Micromanager: Your Distrust Has a Job; It’s Just Not the One You’re Doing
  • Run Gemma 4 on Your Laptop: A Hands-On Guide to Google's Latest Open Multimodal LLM
  1. DZone
  2. Coding
  3. Java
  4. Direct Logs to Remote System With Log4j

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.

By 
Merghoob Khan user avatar
Merghoob Khan
·
May. 10, 17 · Tutorial
Likes (8)
Comment
Save
Tweet
Share
24.5K Views

Join the DZone community and get the full member experience.

Join For Free

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
log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4712
log4j.appender.server.RemoteHost=loghost
log4j.appender.server.ReconnectionDelay=10000

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

log4j.rootLogger=DEBUG, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logfile.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
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 remote

Opinions expressed by DZone contributors are their own.

Related

  • From 13,000 to 20,000+ Endpoints: Architecting Forensics for the Remote Workforce
  • Supercharge AI Workflows on Azure: Remote MCP Tool Triggers + Your First TypeScript MCP Server
  • Remote Android Management: A Step-by-Step Guide
  • The Impact of Asynchronous Work on Engineering Innovation

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook