我有一个部署在OpenShift上的应用程序。我在log back.xml上有以下配置。
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<prudent>true</prudent>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${logPath}myLogFile.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>5</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{ISO8601} %p %t %c{1}.%M - %m%n</pattern>
</encoder>
我可以在服务器上读取$ logPath 正确替换,并且logback文件在设置属性方面没有问题。但是,它不会在指定位置写入日志文件。我试着指定一个文件属性并将prudent设置为“false”,但仍然没有运气。我检查了文件系统上的权限没有问题,在指定位置创建和写入文件。我正在使用logback 1.1.2。
注意:我检查了这个问题,这是答案。 Setup for a Logback RollingFileAppender with prudent flag and a file location
有人知道这里有什么问题吗?我希望TimeBasedRollingPolicy没有错误
更新故障单以澄清变量替换(每个记录文档http://logback.qos.ch/manual/configuration.html#variableSubstitution) $ {logPath}变量在构建期间(在jenkins中)被替换,并且生成的war文件具有到日志文件的正确路径。然后将此war文件部署到Tomcat。