Hello Pascale,
I think generating the one-file-per-server-IP can be achieved through Joran's
replay capability. However, that's a relatively sophisticated and ill-documented
technique.
At this time, I suggest that you either enter a bug report asking for this
feature or implement it on your own by adapting currently existing code.
Best regards,
Pascale, Peter H. wrote:
You could separate the log statements as a post-processing step
(generating the one-file-per-server-IP - say on a daily basis). We do
something like that, but in our case the aggregate log file has a value
by itself.
Peter
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Stefan Armbruster
Sent: Sunday, February 17, 2008 1:29 PM
To: logback users list
Subject: Re: [logback-user] using different appenders based on MDC value
Assume a clustered webapp distributed to multiple servers running tomcat
(e.g.
app1, app2, app3). Since appX are diskless servers, the webapp's
logback.xml
simply uses SocketAppender to redirect all log messagess to a central
logging
server.
The webapp uses a servlet filter (similar to
http://logback.qos.ch/manual/mdc.html) to populate the MDC with the
server's
IP number.
The central logging server receives all log messages from app1-appX
using
SimpleSocketServer and writes them to a single file using the following
config:
<appender name="default"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>default.log</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>default-%d{yyyy-MM-dd}.log</FileNamePattern>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{ISO8601} [%thread] S:%X{server} %-5level
%logger{36} - %msg%n</Pattern>
</layout>
</appender>
Note that the server's IP appears inside the logfile, nothing new until
now.
The goal is to have multiple logfiles ( 1 per server IP number), e.g.
default_192.168.0.1.log
default_192.168.0.2.log
...
default_192.168.0.n.log
So the appender must be aware of the server's ip number stored in the
MDC map.
I hope this spreads some more light on my use case.
Regards,
Stefan
Am Sonntag, 17. Februar 2008 schrieb Ceki Gulcu:
Stefan,
Could you please expand on the use case?
Stefan Armbruster wrote:
Hi,
is there a way to redirect log messages depending on a MDC variable
to
different appenders? The logback manual only uses MDC values for the
pattern inside a single appender.
Example: assume, the code sets a MDC variable "context". If a log
message
is supplied with context="A", it should be written to
application_A.log,
if it has context="B", the message should be written to
application_B.log, and so on.
If this is not possible by default, it should be possible to write a
kind
of MDCAwareAppenderWrapper like this (only pseudo code below):
public class MDCAwareAppenderWrapper<E> implements Appender<E> {
Map<String,Appender> appenderMap;
String mdcName;
... setters and getters omitted
public void doAppend(E event) {
LoggingEvent le = (LoggingEvent)event;
String mdcValue = le.getMDCPropertyMap().get(mdcName);
Appender appender = appenderMap.get(mdcValue);
appender.doAppend(event);
}
}
MDCAwareAppenderWrapper is configured by a Map<String,Appender> that
maps
MDC values (A and B from the example above) to the real appenders.
Any hints or comments on that?
Kind regards,
Stefan
_______________________________________________
Logback-user mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-user
_______________________________________________
Logback-user mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-user
****************************************************************************
This email may contain material confidential to
Pearson. If you were not an intended recipient,
please notify the sender and delete all copies.
We may monitor email to and from our network.
****************************************************************************
_______________________________________________
Logback-user mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-user
--
Ceki Gülcü
QOS.ch is looking to hire talented developers in Switzerland. If
interested, please contact c e k i @ q o s . c h
_______________________________________________
Logback-user mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-user