2

我的 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>
4

1 回答 1

0

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

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

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

于 2017-09-25T13:21:43.960 回答