logging - 播放框架 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>
解决方案
我认为默认情况下没有“访问”记录器。您必须自己创建它,例如通过定义一个过滤器,将每个请求记录到您创建的 Logger 中。
推荐阅读
- android - 你如何解决颤振构建错误?
- javascript - 替换字符串中的“<0x00>”
- php - Laravel 用户基于角色登录到不同的主页
- google-apps-script - 为什么我不能在查找函数中使用 arrayformula 并从谷歌表单自动填充?
- concurrency - Gunicorn worker,用于 GPU 任务的线程以增加并发/并行性
- git - 如何从 git-diff-index 中排除路径/文件
- docker - 有没有办法嵌套 docker build 命令?
- javascript - 带有覆盖 div 的全出血响应图像
- javascript - 如何在 for 循环中使用 javascript queryselectorall 移动所有图像?
- android - BLE Android如何传递特征以在片段中使用