嵌入式 Undertow 日志输出
Posted
技术标签:
【中文标题】嵌入式 Undertow 日志输出【英文标题】:Embedded Undertow log output 【发布时间】:2021-11-29 00:55:33 【问题描述】:我想配置我的嵌入式 Undertow 以将服务器日志保存到文件中
public class Server
UndertowJaxrsServer server = new UndertowJaxrsServer();
ResteasyDeployment deployment = new ResteasyDeploymentImpl();
deployment.setApplicationClass(ExampleApplication.class.getName());
deployment.setInjectorFactoryClass("org.jboss.resteasy.cdi.CdiInjectorFactory");
DeploymentInfo deploymentInfo = server.undertowDeployment(deployment, "/");
deploymentInfo.setClassLoader(Server.class.getClassLoader());
deploymentInfo.setDeploymentName("service");
deploymentInfo.setContextPath("/service");
deploymentInfo.addListener(Servlets.listener(Listener.class));
server.deploy(deploymentInfo);
Builder builder = Undertow.builder()
.addHttpListener("8080", "localhost")
服务器日志显示在控制台中,但我想将所有服务器日志保存到一个文件中(类似于 JBoss 服务器日志,它们每天都保存到日志文件中)。我该如何配置?
【问题讨论】:
你用的是什么日志管理器? 我正在使用 Log4j, 您需要修改您的log4j.properties
或log4j.xml
,然后添加一个文件追加器。
@JamesR.Perkins 非常感谢,詹姆斯。你能发布一个答案让我接受吗?
【参考方案1】:
鉴于您使用 log4j 作为日志管理器,您需要修改配置文件。对于log4j.properties
,它看起来像:
log4j.rootLogger=DEBUG, file
# My Application Log
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=log4j.log
log4j.appender.file.logfile.Threshold=ALL
log4j.appender.file.MaxBackupIndex=100
log4j.appender.file.MaxFileSize=1Gb
log4j.appender.file.encoding=UTF8
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%p %t %c - %m%n
【讨论】:
以上是关于嵌入式 Undertow 日志输出的主要内容,如果未能解决你的问题,请参考以下文章