查看文档,为控制台捕获和请求日志指定的所有日志记录路径都是相对于jetty.base的,通常在$jetty.base/logs
中。这对很多目的来说都没问题,但我真的希望日志进入/var/logs/jetty,就像许多其他进程一样。我曾尝试在控制台捕获中将其设置为/var/log/jetty
,但这只是试图将日志文件保存在$jetty.base/var/log/jetty
中,这不是我所需要的。
有办法做到这一点吗?我正在寻找保存日志的最简单的方法。这是我的Jetty安装完全投入生产之前最不需要做的事情。总的来说,一切都很棒。以上都是在Ubuntu上最新发布的Jetty9。
不使用console-capture
启动。
您的要求已经超出了console-capture
的有限范围。
你会想要一个正式的日志框架,选择一个,比如"logback";(Jetty开发人员建议(,或者java.util.logging,或者log4j。
使用其中一个logging-*
模块来设置Jetty的服务器类路径,以便开始使用该日志库。
现在配置日志库(例如:如果您使用"logback",则文件${jetty.base}/resources/logback.xml
就是您配置的(
最后,将您的访问日志配置为使用slf4j。
Boom,你所有的日志记录现在都进入了你选择的日志记录库,它的配置可以用来以任何你想要的方式对日志进行切片/骰子/滚动/过滤等。
您可以将其拆分为不同的日志输出文件,将它们组合为一个,并根据不同的规则(大小、行数、持续时间、时间等(滚动。
在这方面确实取得了一些进展。出于某种原因,控制台重定向正确地采用了绝对路径,而请求记录器没有。为此,我使我的配置相对:../../../var/log/jetty
这似乎是一种笨拙的方法,但它似乎确实有效。我在创业时仍然会失败,但奇怪的是,它运行得很好,我没有看到例外,所以我现在需要弄清楚。