【发布时间】:2016-08-11 07:34:41
【问题描述】:
我在登录码头时遇到问题。我在文件中写日志。在生成的日志文件中,应用程序的日志记录级别是信息,但我将其设置为 WARN。我知道码头从应用程序写入日志而不过滤,是这样吗?
-
我使用 maven,我已经用命令打包了我的应用程序
sudo mvn package -
为码头设置日志记录:
{jetty.base}/modules$ sudo curl -O https://raw.githubusercontent.com/jetty-project/logging-modules/master/log4j-1.2/logging.mod {jetty.base}$ sudo java -jar /opt/jetty/start.jar --add-to-start=logging -
文件 {jetty.base}/resources/jetty-logging.properties
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog org.apache.log4j.LogManager.getLogger("org.eclipse.jetty").setLevel(Level.WARN); org.eclipse.jetty.LEVEL=WARN -
文件 {jetty.base}/resources/log4j.properties
log4j.rootLogger=WARN, file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n -
文件 {jetty.base}/etc/jetty-logging.xml
<New id="ServerLog" class="java.io.PrintStream"> <Arg> <New class="org.eclipse.jetty.util.RolloverFileOutputStream"> <Arg><Property name="jetty.logs" default="/mnt/logs"/>/yyyy_mm_dd.stderrout.log</Arg> <Arg type="boolean">false</Arg> <Arg type="int">90</Arg> <Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg> <Get id="ServerLogName" name="datedFilename"/> </New> </Arg> </New> <Get name="rootLogger"> <Call name="info"><Arg>Redirecting stderr/stdout to file <Ref refid="ServerLogName"/></Arg></Call> </Get> <Call class="java.lang.System" name="setErr"><Arg><Ref refid="ServerLog"/></Arg></Call> <Call class="java.lang.System" name="setOut"><Arg><Ref refid="ServerLog"/></Arg></Call> -
在日志文件中,我看到使用级别 Info 和调试进行日志记录
07:13:10.072 [main] INFO 07:14:04.216 [java-sdk-http-connection-reaper] DEBUG o.a.h.i.c.PoolingClientConnectionManager ...
【问题讨论】:
标签: java logging log4j jetty war