首页 > 解决方案 > 将 Jetty 配置为对 jetty.base 之外的目录进行控制台捕获和请求日志?

问题描述

查看文档,为控制台捕获和请求日志指定的所有日志记录路径都相对于 jetty.base,通常在$jetty.base/logs. 这对很多用途来说都可以,但是我真的希望日志进入 /var/logs/jetty ,就像许多其他进程一样。我尝试在控制台捕获中将其设置为/var/log/jetty,但这只是尝试将日志文件保存在 中$jetty.base/var/log/jetty,这不是我需要的。

有没有办法做到这一点?我正在寻找最简单的方法来保存日志。这是在我的 Jetty 安装完全投入生产之前我需要做的最后一件事。总的来说,它很棒。这就是 Ubuntu 上最新版本的 Jetty 9。

标签: jetty

解决方案


从不使用开始console-capture

您已经超出了console-capture您的要求的有限范围。

您将需要一个正式的日志框架,选择一个,例如“logback”(Jetty 开发人员推荐)、java.util.logging 或 log4j。

使用其中一个logging-*模块来设置 Jetty 的服务器类路径以开始使用该日志库。

现在配置该日志库(例如:如果您使用“logback”,则该文件${jetty.base}/resources/logback.xml就是您配置的文件)

最后,将您的访问日志配置为使用 slf4j。

繁荣,您所有的日志记录现在都将转到您选择的日志记录库,并且它的配置可用于以您想要的任何方式对日志记录进行切片/切块/翻转/过滤/等。

您可以将其拆分为不同的日志记录输出文件,将它们合并为一个,根据不同的规则(大小、行数、持续时间、时间等)滚动。


推荐阅读