Java 使用slf4j时,控制台和文件追加器正在工作,但基于日期的日志记录不工作
首先是问题。我可以在控制台和文件中看到日志,但我想每天创建一个日志文件并在上面进行日志记录。但是,尽管我在日志配置文件中提到了这一点,我还是无法做到。 下面是我的logback.xmlJava 使用slf4j时,控制台和文件追加器正在工作,但基于日期的日志记录不工作,java,slf4j,Java,Slf4j,首先是问题。我可以在控制台和文件中看到日志,但我想每天创建一个日志文件并在上面进行日志记录。但是,尽管我在日志配置文件中提到了这一点,我还是无法做到。 下面是我的logback.xml <configuration> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>app.log</file> <append>true</
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>app.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date{yyyy-MM-dd} %X{akkaTimestamp} %-5level[%thread] %logger{1} - %msg%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%X{akkaTimestamp} %-5level[%thread] %logger{0} - %msg%n</pattern>-->
<pattern>%date{yyyy-MM-dd} %d{HH:mm:ss.SSS} %-5level[%thread] %logger{0} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
</root>
log.info(“进行日志记录”)
在这方面,任何帮助都将不胜感激。如果要完成此操作还需要其他操作,请务必告诉我。设置看起来不错
请注意,通过设置
文件
属性,当前文件将命名为app.log
(无任何扩展名)。但是如果您将此功能一直运行到第二天,则应将其存档(并在过程中获取日期戳),并以app.log
的形式启动一个新日志。或者,您可以删除文件设置,使活动日志也具有时间戳(这也避免了在滚动期间重命名时可能出现的问题)。感谢回复@Thilo。但我相信这一行每天都会创建新的文件,名为logFile.2016-02-20.log;日志文件。%d{yyyy-MM-dd}.log……。您不认为吗?它应该通过移动“昨天的”app.log(如果有)来创建这些文件。不是吗?你可能需要让它运行一整晚才能看到。让我来做这个……但我必须告诉你,服务器已经运行了一天多,并且没有创建新文件……虽然我没有删除log.file……我怀疑它是否会起作用,但我还是尝试了一下。
private static final Logger log = LoggerFactory.getLogger(NetworkServer.class);