Java 使用slf4j时,控制台和文件追加器正在工作,但基于日期的日志记录不工作

Java 使用slf4j时,控制台和文件追加器正在工作,但基于日期的日志记录不工作,java,slf4j,Java,Slf4j,首先是问题。我可以在控制台和文件中看到日志,但我想每天创建一个日志文件并在上面进行日志记录。但是,尽管我在日志配置文件中提到了这一点,我还是无法做到。 下面是我的logback.xml <configuration> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>app.log</file> <append>true</

首先是问题。我可以在控制台和文件中看到日志,但我想每天创建一个日志文件并在上面进行日志记录。但是,尽管我在日志配置文件中提到了这一点,我还是无法做到。 下面是我的logback.xml

<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);