如何配置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>

如果您使用groovy配置进行logback,您可以尝试

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

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

最新更新