Logging 如何配置jetty将日志放入外部文件
如何配置jetty将其日志放入外部文件 我必须将slf4j放入lib目录 我所做的是:Logging 如何配置jetty将日志放入外部文件,logging,jetty,Logging,Jetty,如何配置jetty将其日志放入外部文件 我必须将slf4j放入lib目录 我所做的是: 下载slf4j并将slf4j-log4j12-1.7.3.jar放入$JETTY_HOME$/lib中 下载log4j并将log4j-1.2.17.jar放入$JETTY_HOME$/lib中 创建一个log4j配置文件。可从以下位置获取: 注释行 “#org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.stderlog”在$je
- 下载slf4j并将slf4j-log4j12-1.7.3.jar放入$JETTY_HOME$/lib中
- 下载log4j并将log4j-1.2.17.jar放入$JETTY_HOME$/lib中
- 创建一个log4j配置文件。可从以下位置获取:
- 注释行
在“#org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.stderlog”
$jetty_HOME$/resources/jetty logging.properties中
${Jetty.home}
和${Jetty.base}
目录
注意:请勿编辑/修改/删除/添加/删除${jetty.home}
中的任何内容。从现在起,所有配置都将驻留在${jetty.base}
中
作为命令行的说明:
$mkdir/path/to/mybase
$cd/path/to/mybase
#准备一个基本的jetty.base目录
$java-jar/path/to/jetty dist/start.jar——添加到start=http,deploy,resources,ext
信息:ext在${jetty.base}/start.ini中初始化
信息:资源在${jetty.base}/start.ini中初始化
信息:服务器已在${jetty.base}/start.ini中初始化(传递)
信息:http在${jetty.base}/start.ini中初始化
信息:在${jetty.base}/start.ini中初始化部署
MKDIR:${jetty.base}/lib
MKDIR:${jetty.base}/lib/ext
MKDIR:${jetty.base}/resources
MKDIR:${jetty.base}/webapps
信息:基本目录已修改
#下载所需的jar文件
$cd/path/to/mybase/lib/ext
$curl-Ohttp://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar
$curl-Ohttp://central.maven.org/maven2/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar
$curl-Ohttp://central.maven.org/maven2/log4j/log4j/1.2.17/log4j-1.2.17.jar
#准备码头侧测井,以使用slf4j
$cd/path/to/mybase/resources
$echo“org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog”>jetty-logging.properties
#获取log4j.xml的副本以初始化内容
$cd/path/to/mybase/resources
$curl-o log4j.xmlhttps://gist.githubusercontent.com/joakime/13e31db59b83079be3fdc1a877de7060/raw/5c275a2a2f29445d6cdde7fcae3820da99e7234b/log4j.xml
#起动码头
$cd/path/to/mybase
$java-jar/path/to/jetty dist/start.jar
注意:不要启用日志记录
模块,因为这严格适用于Jetty的标准日志
实现。该logging
模块将捕获任何System.err
和System.out
并将其重定向到滚动日志文件。此捕获和重定向将与您的log4jConsoleAppender
直接冲突
原始说明-仅在Jetty 8(现在为EOL)和更早版本上有效
遵循以下步骤:
$JETTY_HOME/lib
中创建日志目录:$JETTY_HOME/lib/logging
(这只是最佳实践)log4j
、slf4j-log4j
和slf4j-api
放入该目录:
e、 g.:log4j-1.2.16.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
$jetty_HOME/start.ini
选项中添加“日志记录”
”,确保jetty的类路径中有该新目录:
e、 g.:OPTIONS=Server、websocket、resources、ext、jsp、jdbc、logging
log4j.properties
放在$JETTY\u HOME/resources
目录中如果您的log4j.properties设置正确,这应该适合您。我会注意在文档中有这样一个分步指南 如果您使用的是Jetty 9,您还有一个步骤。退出$JETTY_HOME/resources/JETTY-logging.properties以使这一行
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog
此文档已更新。。。我使用的是Jetty9,按照您的步骤操作,但是得到java.lang.ClassNotFoundException:org.slf4j.LoggerFactory异常。
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="DEBUG" />
<param name="File" value="c:/app/jetty/logs/server.log" />
<layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n" />
</layout>
</appender>
<root>
<priority value="debug" />
<appender-ref ref="fileAppender" />
</root>