这是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文件。
答案 0 :(得分:3)
log4j.appender.FA.File=${catalina.base}/logs/Z2.log
我没有足够的声誉来评论但是'CATALINA_BASE'被设置为环境财产? 即从“CATALINA_HOME”推断或明确设置?
启用log4j的调试时会发生什么? 这可能会显示未创建日志文件等原因
我通常做的是保持容器日志记录,但在任何web / EE应用程序中使用log4j。通过这样做,容器日志记录将无需任何更改,任何Web / EE应用程序都是独立的,即在必要时更容易更改Web / EE容器。
对于Tomcat 8,本机日志库是'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>