1)文件位置:在src下面
2)文件配置
#先设置级别 log4j.rootCategory=INFO, file log4j.appender.file=org.apache.log4j.RollingFileAppender #在这里设置日志需要存放的位置,这里的变量就是我们在web.xml里设置的 log4j.appender.file.File=${ssh.root}/WEB-INF/logs/subject.log log4j.appender.file.MaxFileSize=100KB log4j.appender.file.MaxBackupIndex=5 log4j.appender.file.layout=org.apache.log4j.SimpleLayout log4j.appender.file.layout.ConversionPattern=[ssh] %p %t %c - %m%n
有了上面的配置,我们就可以查看日志了!
2、log4j.xml文件
<?xml version="1.0" encoding="GB2312" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender"> <!-- 设置通道file和输出方式:org.apache.log4j.DailyRollingFileAppender --> <param name="File" value="${platform.root}/logs/server.log" /><!-- 设置File参数:日志输出文件名 --> <param name="Append" value="true" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 --> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /><!-- 设置输出文件项目和格式 --> </layout> </appender> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> <!-- 设置监视器输出方式 --> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" /> </layout> <!--滤镜设置输出的级别 ALL<DEBUG<INFO<WARN<ERROR<FATAL<OFF --> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="levelMin" value="ERROR" /> <param name="levelMax" value="ERROR" /> <param name="AcceptOnMatch" value="true" /> </filter> </appender> <!-- 控制具体类中的日志级别 和输出目的地--> <logger name="com.wondertek.mobiletv.oms.webapp.learning" additivity="false"> <level value="DEBUG"/> <appender-ref ref="LEARNING_LOG_FILE"/> </logger> additivity它是 子Logger 是否继承 父Logger(即root) 的 输出源(appender) 的标志位。具体说,默认情况下子Logger会继承父Logger的appender,也就是说子Logger会在父Logger的appender里输出。若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。 <root><!-- 设置接收所有输出的通道 --> <priority value="info" /> <appender-ref ref="FILE" /><!-- 与前面的通道id相对应 --> <!--appender-ref ref="STDOUT" /--> </root> </log4j:configuration>
3、 web.xml配置
<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"--> <context-param> <param-name>webAppRootKey</param-name> <param-value>ssh.root</param-value> </context-param> 这里的ssh是http://localhost:8080/ssh/ 而root是系统开发目录中ssh/root <!--由Sprng载入的Log4j配置文件位置--> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> <!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond--> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <!--Spring log4j Config loader--> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>