我找不到我的日志文件在哪里。在 Linux 上,该文件与其他 tomcat 日志一样位于 tomcat/logs 目录中。在 Windows 上我不知道它在哪里。
这是我的配置(logback.xml)的一部分:
<appender name="DEBUG_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<file>logs/audioguide-debug.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>logs/audioguide-debug.log.%i.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>20</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d [%thread] %-5level %logger | %msg%n</pattern>
</encoder>
</appender>
当我输入绝对地址时,它可以工作,但我希望在两个平台上都可以使用相同的文件:
<appender name="DEBUG_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<file>c:\programy\apache-tomcat-8.0.26\logs\audioguide-debug.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>c:\programy\apache-tomcat-8.0.26\logs\audioguide-debug.log.%i.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>20</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d [%thread] %-5level %logger | %msg%n</pattern>
</encoder>
</appender>
最佳答案
如果 <file>
中给出了非绝对路径属性,它始终与 Logback 运行的进程的当前工作目录相关(在您的例子中是 Tomcat)。
如果我猜对了,在 Windows 中您是从 IDE 运行 Tomcat。在 Eclipse 中,您可以通过“参数”选项卡上的“运行配置”查看工作目录。在 Intellij 14 中,它位于 %USERPROFILE%\.IntelliJIdea14\system\tomcat\<configuration name>"
中的某个位置.
通常的做法是使用${catalina.base}\logs
作为日志记录路径。这样您就可以使日志路径明确且易于验证。
关于tomcat - logback 的默认输出目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33037743/