首页 > 解决方案 > 播放框架 2.6 访问日志不起作用

问题描述

我尝试在我的 logback.xml 中设置以下内容。我可以看到在日志目录中生成了 access.log 文件,但是当我发出 http 请求以播放服务器时没有写入日志。应用程序日志被写入常规 application.log 文件,但 access.log 中没有任何内容

文档中的示例说记录器名称应该是“访问”。想知道这是否不正确。 https://www.playframework.com/documentation/2.6.x/SettingsLogger

<appender name="ACCESS_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${application.home:-.}/logs/access.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- daily rollover with compression -->
        <fileNamePattern>access-log-%d{yyyy-MM-dd}.gz</fileNamePattern>
        <!-- keep 1 week worth of history -->
        <maxHistory>7</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>%date{yyyy-MM-dd HH:mm:ss ZZZZ} %message%n</pattern>
        <!-- this quadruples logging throughput -->
        <immediateFlush>false</immediateFlush>
    </encoder>
</appender>

<!-- additivity=false ensures access log data only goes to the access log -->
<logger name="access" level="INFO" additivity="false">
    <appender-ref ref="ACCESS_FILE" />
</logger>

标签: loggingplayframeworklogback

解决方案


我认为默认情况下没有“访问”记录器。您必须自己创建它,例如通过定义一个过滤器,将每个请求记录到您创建的 Logger 中。


推荐阅读