线上用的 jetty 服务器,版本升级后,其中一共三台服务器( A 、B 、C ),A 服务正常打印日志,而 B 、C 服务器升级后日志不打印了(img-server.log),只有在启动时会打印出一些 zookeeper 的信息。用的同一个 war 包,同样的 jetty 配置,都是 jetty 集成了 log4j 的方式。 项目中的 log4j.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> <appender name="A1" class="org.apache.log4j.DailyRollingFileAppender"> <param name="Threshold" value="INFO" /> <param name="encoding" value="UTF-8" /> <param name="DatePattern" value="'.'yyyyMMdd" /> <param name="File" value="/x/x/x/img-server.log" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %p [%x,%t] - [%c] - [%m]%n" /> </layout> </appender> <appender name="E1" class="org.apache.log4j.DailyRollingFileAppender"> <param name="Threshold" value="ERROR" /> <param name="encoding" value="UTF-8" /> <param name="DatePattern" value="'.'yyyyMMdd" /> <param name="File" value="/x/x/x/img-error.log" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %p [%x,%t] - [%c] - [%m]%n" /> </layout> </appender> <logger name="com.x.x.service.impl.TmpQueueImpl" additivity="false"> <level value="DEBUG" /> <appender-ref ref="CA" /> </logger> <logger name="com.x.x.service.impl.TmpImageServiceImpl" additivity="false"> <level value="DEBUG" /> <appender-ref ref="CA" /> </logger> <logger name="com.x.x.process.impl.GMTool" additivity="false"> <level value="DEBUG" /> <appender-ref ref="CA" /> </logger> <root> <level value="INFO" /> <appender-ref ref="CA" /> <appender-ref ref="E1" /> <appender-ref ref="A1" /> </root> </log4j:configuration>
并且配置了${jetty_home}/etc/jetty-logging.xml
<Configure id="Server" class="org.eclipse.jetty.server.Server"> <New id="ServerLog" class="java.io.PrintStream"> <Arg> <New class="org.eclipse.jetty.util.RolloverFileOutputStream"> <Arg><Property name="jetty.logs" default="/x/x/x"/>/yyyy_mm_dd.jetty-error.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> <Call class="org.eclipse.jetty.util.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call> <Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call> <Call class="java.lang.System" name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call> </Configure>
然后输出的这个yyyy_mm_dd.jetty-error.log日志文件在 B 、C 两台服务器上出现大量的 debug 日志,而 A 服务器没有。
v2 这么多大佬,请问有遇到这样的问题吗?
1 liangwc OP 还有就是服务是正常的 |