logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Drummond <joshdrumm...@yahoo.com>
Subject Re: multiple JVMs writing to the same file
Date Wed, 01 Aug 2007 01:20:44 GMT
You could also run a central syslog-ng server, and have the various JVMs send to it via a SyslogAppender
.  syslog-ng is free and powerful, you can do regex filtering and dump to file however you
like.  It supports the more reliable TCP, however last time I checked log4j only supports
UDP, so failover may be an issue here too.

----- Original Message ----
From: "Zakaria, Faheem" <faheem.zakaria@fmr.com>
To: Log4J Users List <log4j-user@logging.apache.org>
Sent: Tuesday, July 31, 2007 6:11:39 AM
Subject: RE: multiple JVMs writing to the same file

Hi Thomas,

There are two choices to your situation.

1. Save log output locally for each JVM and use a distributed log reader
for log analysis.  This has the benefits of centralized logging without
the mandate.  Of course, maintenance processes of identifying, indexing
and collating logs across JVMs can outweigh the benefits of this
approach.  Splunk and Veduta are two products which can help in this

2. Centralize your logging using the JMSAppender and a messaging
platform.  Each JVM would queue its log messages to a central logging
server.  The logging server would receive log messages and persist them
to file or DBMS.  There are failover issues associated with this
approach and would need to be balanced within the context of your
architecture.  The messaging middleware can mitigate log server


-----Original Message-----
From: Thomas michelbach [mailto:t.michelbach@gmail.com] 
Sent: Tuesday, July 31, 2007 8:30 AM
To: Log4J Users List
Subject: Re: multiple JVMs writing to the same file

Thanks for the answer,

The socket appender is a good option, but i read this article
http://www.jroller.com/oburn/date/200601 and was concerned about
problems (deadlocks).

the first problem would arise if thd JVM receiving the logs goes down or
even goes into a deadlock. I need a way to bring the socket appender up
another JVM as failover mechanism. Another problem is if the file gets
locked, I can't do anything until the JVM is restarted and this is
definitely not a good failover.

Does someone have experience with this kind of multiple jvm logging


On 7/31/07, James Stauffer <stauffer.james@gmail.com> wrote:
> You can have each JVM send the events to a single separate JVM with
> SocketAppenders.  That single separate JVM would receive events from
> all of the other JVMs and write them to a file.
> On 7/31/07, Thomas michelbach <t.michelbach@gmail.com> wrote:
> > Hello,
> >
> > I'm using log4j in an environment with multiple jvms. I know that
> best
> > option for a central logging output, would be a database, but in
> > environment I don't have one. Now I use a different file for each
> but I
> > need to consolidate them in one file.
> >
> > The best case would be to have the same appender in each JVM and
> would
> > have a buffer to protect the file and control the I/O. Is there any
> sample
> > how to do this in log4j? Is it supported?
> >
> > Bye,
> > Thomas
> >
> --
> James Stauffer        http://www.geocities.com/stauffer_james/
> Are you good? Take the test at http://www.livingwaters.com/good/
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-user-help@logging.apache.org

Thomas Michelbach

To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org

Luggage? GPS? Comic books? 
Check out fitting gifts for grads at Yahoo! Search
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message