jetty - 将 Jetty 配置为对 jetty.base 之外的目录进行控制台捕获和请求日志?
问题描述
查看文档,为控制台捕获和请求日志指定的所有日志记录路径都相对于 jetty.base,通常在$jetty.base/logs
. 这对很多用途来说都可以,但是我真的希望日志进入 /var/logs/jetty ,就像许多其他进程一样。我尝试在控制台捕获中将其设置为/var/log/jetty
,但这只是尝试将日志文件保存在 中$jetty.base/var/log/jetty
,这不是我需要的。
有没有办法做到这一点?我正在寻找最简单的方法来保存日志。这是在我的 Jetty 安装完全投入生产之前我需要做的最后一件事。总的来说,它很棒。这就是 Ubuntu 上最新版本的 Jetty 9。
解决方案
从不使用开始console-capture
。
您已经超出了console-capture
您的要求的有限范围。
您将需要一个正式的日志框架,选择一个,例如“logback”(Jetty 开发人员推荐)、java.util.logging 或 log4j。
使用其中一个logging-*
模块来设置 Jetty 的服务器类路径以开始使用该日志库。
现在配置该日志库(例如:如果您使用“logback”,则该文件${jetty.base}/resources/logback.xml
就是您配置的文件)
最后,将您的访问日志配置为使用 slf4j。
繁荣,您所有的日志记录现在都将转到您选择的日志记录库,并且它的配置可用于以您想要的任何方式对日志记录进行切片/切块/翻转/过滤/等。
您可以将其拆分为不同的日志记录输出文件,将它们合并为一个,根据不同的规则(大小、行数、持续时间、时间等)滚动。
推荐阅读
- javascript - 使用 i18n 包进行动态本地化
- html - 是否有类似于 HTML 中的 Select-Control 但在 Windows 窗体中的东西?
- python-3.x - OutOfMemoryError:执行cupy操作时内存不足分配13,223,677,952字节(到目前为止已分配:0字节)
- java - 将 byte[] 转换为 VideoFrame 或 VideoFrame.I420Buffer WebRtc 类
- python-3.x - 无法在 python 3.7、Tensorflow 1.15.0 上运行 LSTM 模型
- python - signxml 抛出“InvalidCertificate: [20, 0, '无法获取本地颁发者证书']”
- c# - 警报框从另一个类更改时不显示静态字符串,但当我从原始类更改它时有效
- javascript - History.pushState:加载实际推送的状态url后返回历史
- ms-access - 根据工作的文件类型计算每日目标
- python - 无法生成被调试对象:嵌入的空字节错误