【发布时间】:2018-05-18 04:25:35
【问题描述】:
我在 Tomcat 7 中运行两个 Web 应用程序。
Tomcat 有一个logback-access.xml,它定义了两个附加程序。
可以看到在启动tomcat的时候被拾取,并且appender config被正确解析了。
我的问题是,如何让 webapp 使用其中定义的附加程序?
我尝试将<logger> 和<root> 元素放在logback-access 文件中,但这会产生错误:
[logger] 没有适用的操作,当前 ElementPath 是 [[configuration][logger]]
,root 和 appender-ref 类似。
我尝试将logback.xml 文件放入我的war 文件中,WEB-INF/classes 和WEB-INF,但似乎没有被拾取。
那么,我应该如何正确配置呢?
Tomcat 中的logback-access.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<append>true</append>
<file>${catalina.base}/logs/my=app.log</file>
<encoder>
<pattern>combined</pattern>
</encoder>
</appender>
<appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>localhost:5044</destination>
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<!-- cut specific config -->
</providers>
</encoder>
</appender>
</configuration>
WEB-INF/classes 中的logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<logger name="my.package" level="DEBUG"/>
<logger name="com.amazonaws" level="INFO"/>
<!-- and several more loggers like this -->
<root level="DEBUG">
<appender-ref ref="FILE"/>
</root>
<root level="TRACE">
<appender-ref ref="STASH"/>
</root>
</configuration>
【问题讨论】:
标签: java tomcat logging tomcat7 logback