spring - Spring Access 日志按天轮换
问题描述
我将嵌入式 Jetty 服务器用于 spring 应用程序。我尝试将访问日志配置为每天有一个日志文件,但所有访问日志都添加到一个文件中。
在我的应用程序属性文件中:
server.jetty.accesslog.enabled=true
server.jetty.accesslog.append=true
server.jetty.accesslog.filename=/var/logs/access.log
server.jetty.accesslog.file-date-format=.yyyy-MM-dd
server.jetty.accesslog.retention-period=366
解决方案
该配置来自 Jetty 中一个旧的、现已弃用的请求日志机制。
对于这个旧配置,您必须使用该yyyy_MM_dd
符号。
换句话说 ...
# This MUST contain `yyyy_MM_dd`
server.jetty.accesslog.filename=/var/logs/access_yyyy_MM_dd.log
# This MUST be `yyyy_MM_dd` (no other option is supported)
server.jetty.accesslog.file-date-format=yyyy_MM_dd
Jetty 已经转移到CustomRequestLog
了日志输出的格式,并使用一个实现RequestLog.Writer
来确定这个格式化的日志被写入到哪里。
最常见的RequestLog.Writer
选择是Slf4jRequestLogWriter
将格式化的日志写入指定slf4j-api
位置,这允许您使用您选择的日志记录实现(logback、java.util.logging、commons-logging、log4j1、log4j2 等)来配置和指定滚动该日志记录实现(例如:按大小、时间、其他事件等)。
唯一的其他实现RequestLog.Writer
是AsyncRequestLogWriter
,它具有相同的文件名和 fileDateFormat 规则如上所述。
请参阅 spring + 上的过去答案CustomRequestLog
:https ://stackoverflow.com/a/66079787/775715
推荐阅读
- .net - 带有 Realm 数据库 .NET sdk 的字符串数组
- double - Idris,通过去掉小数点将 Double 转换为 Nat(下限)
- javascript - 我想使用 TextInput 标签为 mime 类型添加验证
- python - 简化循环的 np.tensordot 表达式
- d3.js - 使用 d3.js 创建的 cypress 图形进行测试
- python - 在 Ubuntu 20.04 的 Python 中解析 () 中的值 psutil.sensors_temperatures()
- react-native - 为返回数据的 Windows 扫描 wifi 设备反应本机
- python - 我的 Crypto 无法正常工作,它一直在重置
- python - Open CV 光流断言失败错误
- elasticsearch - 是否可以通过 Kibana 控制台提供只读访问权限