转自:http://www./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="‘ target=_blank>http://jakarta./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("信息"); } 写一下就知道了。 |