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="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<!--过滤器设置输出的级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="INFO"/>
<param name="levelMax" value="INFO"/>
<param name="AcceptOnMatch" value="true"/>
</filter>
</appender>
<!--debug日志输出配置-->
<appender name="debug"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../webapps/Test/WEB-INF/logs/debug.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="DEBUG" /><!--过滤只输出DEBUG级别日志-->
<param name="LevelMin" value="DEBUG" />
</filter>
</appender>
<!--infor日志输出配置-->
<appender name="info"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../webapps/Test/WEB-INF/logs/info.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="INFO" />
<param name="LevelMin" value="INFO" />
</filter>
</appender>
<!--warn日志输出配置-->
<appender name="warn"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../webapps/Test/WEB-INF/logs/warn.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="WARN" />
<param name="LevelMin" value="WARN" />
</filter>
</appender>
<!--error日志输出配置-->
<appender name="error"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../webapps/Test/WEB-INF/logs/error.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR" />
<param name="LevelMin" value="ERROR" />
</filter>
</appender>
<!--fatal日志输出配置-->
<appender name="fatal"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../webapps/Test/WEB-INF/logs/fatal.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="FATAL" />
<param name="LevelMin" value="FATAL" />
</filter>
</appender> <root>
<priority value="debug" /><!--日志输出最低级别-->
<appender-ref ref="console"/>
<appender-ref ref="debug" /><!--debug日志输出-->
<appender-ref ref="info" /><!--info日志输出-->
<appender-ref ref="warn" /><!--warn日志输出-->
<appender-ref ref="error" /><!--error日志输出-->
<appender-ref ref="fatal" /><!--fatal日志输出-->
</root>
</log4j:configuration>web.xml中log4j的配置: <!-- log4j -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.xml</param-value>
</context-param> 此时控制台起卡住了,即tomcat无效启动成功,如果我将相对路径改为绝对路径,即:../改为:D:/,这时tomcat能够启动成功了,这到底是什么原因呢?
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<!--过滤器设置输出的级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="INFO"/>
<param name="levelMax" value="INFO"/>
<param name="AcceptOnMatch" value="true"/>
</filter>
</appender>
<!--debug日志输出配置-->
<appender name="debug"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../webapps/Test/WEB-INF/logs/debug.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="DEBUG" /><!--过滤只输出DEBUG级别日志-->
<param name="LevelMin" value="DEBUG" />
</filter>
</appender>
<!--infor日志输出配置-->
<appender name="info"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../webapps/Test/WEB-INF/logs/info.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="INFO" />
<param name="LevelMin" value="INFO" />
</filter>
</appender>
<!--warn日志输出配置-->
<appender name="warn"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../webapps/Test/WEB-INF/logs/warn.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="WARN" />
<param name="LevelMin" value="WARN" />
</filter>
</appender>
<!--error日志输出配置-->
<appender name="error"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../webapps/Test/WEB-INF/logs/error.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR" />
<param name="LevelMin" value="ERROR" />
</filter>
</appender>
<!--fatal日志输出配置-->
<appender name="fatal"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../webapps/Test/WEB-INF/logs/fatal.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="FATAL" />
<param name="LevelMin" value="FATAL" />
</filter>
</appender> <root>
<priority value="debug" /><!--日志输出最低级别-->
<appender-ref ref="console"/>
<appender-ref ref="debug" /><!--debug日志输出-->
<appender-ref ref="info" /><!--info日志输出-->
<appender-ref ref="warn" /><!--warn日志输出-->
<appender-ref ref="error" /><!--error日志输出-->
<appender-ref ref="fatal" /><!--fatal日志输出-->
</root>
</log4j:configuration>web.xml中log4j的配置: <!-- log4j -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.xml</param-value>
</context-param> 此时控制台起卡住了,即tomcat无效启动成功,如果我将相对路径改为绝对路径,即:../改为:D:/,这时tomcat能够启动成功了,这到底是什么原因呢?
你用log4j.properties是用相对路径还是绝对路径呢?用相对路径,会不会出现什么问题?(绝对路径显然不能用于发布项目的,只能用于测试)
我是说输出的日志文件,比如:info.log,当设置为相对路径时,被卡住了,不是说设置log4j.properties或log4j.xml的路径。
应该是这个“../logs/fatal.log”
楼主目前的写法,是放到tomcat的某子目录下了.
log4j.rootLogger=info,A1,R
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%c] [%p] - %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=mylog.txt
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%c] [%p] - %m%n