如何配置logback以创建具有服务器名称的日志文件名

时间:2013-07-25 20:43:09

标签: java logging configuration logback

我的java EAR应用程序在2个应用程序服务器上运行。每个日志都使用日志文件名在本地写入日志。我想知道如何将唯一的应用服务器名称添加到每个服务器中写入的日志文件名。当我从服务器下载日志文件并发送给同事进行调试时,这将帮助我识别每个服务器中的文件。目前我们必须将它们放在单独的文件夹中,因为两个文件夹都有相同名称的文件。谢谢。

以下是logback.xml中用于命名文件

的代码段
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logfile.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  <!-- rollover daily -->
  <fileNamePattern>logfile-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  <timeBasedFileNamingAndTriggeringPolicy
        class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <!-- or whenever the file size reaches 10MB -->
    <maxFileSize>10MB</maxFileSize>
  </timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
  <pattern>%msg%n</pattern>
</encoder>
</appender>

1 个答案:

答案 0 :(得分:0)

如果使用groovy配置进行回溯,可以尝试

import java.net.InetAddress
println InetAddress.getLocalHost()

这将为您提供本地服务器名称和IP地址。