要讓logback不產生tmp文件,可以通過配置logback.xml文件來實現。
一種方法是在appender中設置文件名為固定的文件名,而不是使用時間戳作為文件名。例如,可以使用如下配置將日志寫入固定的文件名 mylog.log
:
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>mylog.log</file>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
另一種方法是使用rollingFileAppender,并設置maxHistory為0,這將禁用歷史日志文件的維護。例如:
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>mylog.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>mylog.%i.log</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>1</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>5MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
通過以上配置,logback將會將日志寫入到名為mylog.log
的文件中,不會產生任何tmp文件。