转自:http://www.ewuxi.cn/BBS/dispbbs.asp?boardID=59&ID=2036&page=1
在struts里应用log4j写日志,一般是放在classes目录下的名字是log4j.propertyies或log4j.xml。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="ASYNC" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="TEMP"/>
<appender-ref ref="CONSOLE"/>
</appender>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d %-5p [%t] %C (%F:%L) - %m%n"/>
</layout>
</appender>
<appender name="TEMP" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="error.log"/>
<param name="Append" value="true"/>
<param name="ImmediateFlush" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="ERROR"/>
<param name="LevelMax" value="FATAL"/>
<param name="acceptOnMatch" value="TRUE"/>
</filter>
</appender>
<appender name="LOG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="log.log"/>
<param name="Append" value="true"/>
<param name="ImmediateFlush" value="true"/>
<param name="MaxFileSize" value="500KB"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelMatchFilter">
<param name="LevelToMatch" value="ERROR"/>
<param name="acceptOnMatch" value="false"/>
</filter>
</appender>
<logger name="com.ewuxi.champion">
<level value="DEBUG"/>
</logger>
<logger name="com.ibatis">
<level value="DEBUG"/>
</logger>
<root>
<priority value="ERROR"/>
<appender-ref ref="CONSOLE"/>
<!--
<appender-ref ref="TEMP"/>
<appender-ref ref="LOG"/>
-->
</root>
</log4j:configuration>
其中append就一个日志的输出点,可以是文件,console或者其他(如mail).
如果是自己写程序时用,没有那么麻烦,建个log4j.properties
内容如下:
#levels: debug, info, warn, error, fatal
log4j.rootCategory=DEBUG, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
# ---------------- Attention here ----------------------------
log4j.appender.logfile.File=koala.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files
log4j.appender.logfile.MaxBackupIndex=3
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
# Pattern to output : date priority [category] - <message>line_separator
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - <%m>%n
仔细看看,然后写一下就知道什么意思了。
然后写每个类时加一句话:
Log log = LogFactory.getLog(所在类名.class),然后程序里就
if (log.isInfo) {
log.info("信息");
}
写一下就知道了。