[logback-user] Servername in SocketAppender

Ceki Gülcü ceki at qos.ch
Thu Mar 4 10:34:54 CET 2010


Hello Ingo,

Properties of the logger context are part of each logging event sent
to the SocketAppender. You can set a context property 'k' to value 'v'
as follows:

   LoggerContext lc = (LoggerContext)
                        org.slf4j.LoggerFactory.getILoggerFactory();
   lc.putProperty("k", "v");


You can have the value of property 'k' printed using the "%property"
conversion word. In PatternLayout set the pattern to for example
"%property{k} ... - %m%n"

As of logback 0.9.19, the HOSTNAME property is defined automatically.
Also note that the name of the context can be retrieved with the
%contextName or %cn conversion words. You can set the name of the
context either programmatically as

   lc.setName("mickey");

or in the configuration file:

<configuration>
   <contextName>mickey</contextName>
   ...
</configuration>

HTH,

On 04/03/2010 10:17 AM, Ingo Siebert wrote:
> Hi,
>
> I want to use the SocketAppender to collect log messages from more than
> one application server.
>
> It general it works fine, but I'm missing the servername or IP address
> of the server who sent the LoggingEvent.
> That means I need a layout like this: %date %servername %m%n
>
> In the documentation, I see a SocketAppender property called
> IncludeCallerData.
> But in the example it only prints %file and %line.
>
> What is the best practise to add the name/IP of the server which sent
> the logging event to the remote SimpleSocketServer?
> Best regards,
>
> Ingo



More information about the Logback-user mailing list