这是 mt Log4j:
log4j.rootLogger=ERROR, CA, FA
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.Target=System.out
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c:%L - %m%n
log4j.appender.FA=org.apache.log4j.RollingFileAppender
log4j.appender.FA.File=${catalina.base}/logs/Z2.log
log4j.appender.FA.MaxFileSize=5MB
log4j.appender.FA.MaxBackupIndex=10
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%-5p] [%c:%L]: %m%n
log4j.logger.com.datastax.driver.core=ERROR
log4j.logger.com.dcf=DEBUG
现在我正在使用 tomcat8,在我使用 tomcat7 之前它运行良好,并将日志文件保存在/var/log/tomcat7/logs/Z2.log 下
卸载tomcat7,安装tomcat8后,找不到z1.log文件。
最佳答案
log4j.appender.FA.File=${catalina.base}/logs/Z2.log
我没有足够的声誉来发表评论,但是“CATALINA_BASE”是否被设置为环境属性? 即从“CATALINA_HOME”推断或明确设置?
当您为 log4j 启用调试时会发生什么? 这可能会显示为什么未创建日志文件等
我通常做的是保留容器日志记录,但在任何 Web/EE 应用程序中使用 log4j。通过这样做,容器日志记录将无需更改即可工作,并且任何 Web/EE 应用程序都是独立的,即在必要时更容易更改 Web/EE 容器。
对于 Tomcat 8, native 日志记录库是“JULI”,它实现了 java.util.logging API 的几个关键元素。
以下配置适用于
Tomcat 8.0.30
jdk1.8.0_66
log4j 2.5
[web-app-name]/WEB-INF/lib
commons-logging-l.2.jar
log4j-api-2.5.jar
log4j-core-2.5.jar
log4j-jcl-2.5.jar
[web-app-name]/WEB-INF/classes/log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Properties>
<Property name="LOG_FILE_PATH">${sys:catalina.home}/logs</Property>
<Property name="PATTERN_JBOSS" >%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %m%n</Property>
<Property name="PATTERN_TOMCAT">%d{dd-MMM-yyyy HH:mm:ss.SSS} %-5p [%t] %m%n</Property>
<Property name="PATTERN" >${PATTERN_JBOSS}</Property>
</Properties>
<Appenders>
<Console name="console">
<PatternLayout pattern="${PATTERN_TOMCAT}"/>
</Console>
<RollingFile name="daily-file" fileName ="${LOG_FILE_PATH}/globaltrax.log"
filePattern="${LOG_FILE_PATH}/globaltrax-%d{yyyy-MM-dd}.log">
<PatternLayout pattern="${PATTERN_JBOSS}"/>
<TimeBasedTriggeringPolicy/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="WARN">
<AppenderRef ref="console"/>
</Root>
<logger name="lpms.web.PurchaseOrderAction" level="TRACE">
<AppenderRef ref="console"/>
</logger>
<logger name="lpms.web.PurchaseOrderAction" level="TRACE">
<AppenderRef ref="daily-file"/>
</logger>
</Loggers>
</Configuration>
这定义了一个控制台记录器和一个典型的每日日志文件记录器。
请注意,必须将“CATALINA_HOME”设置为“系统”环境变量——这在以下行中使用:
<Property name="LOG_FILE_PATH">${sys:catalina.home}/logs</Property>
关于java - tomcat8 中的 Log4j 不显示日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33327655/