现在需求又发生改变,应用中有数个类需要记录各自的信息,要求记录在不同的文件,且内容不同,如前所述,再增加几个logger
step1) 修改配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="appender1" class="org.apache.log4j.FileAppender">
<param name="File" value="gasturbine.log1.txt"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
</layout>
</appender>
<appender name="appender4humidier" class="org.apache.log4j.FileAppender">
<param name="File" value="gasturbine.log4humidier.txt"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n"/>
</layout>
</appender>
<appender name="appender4cooler1" class="org.apache.log4j.FileAppender">
<param name="File" value="gasturbine.log4cooler1.txt"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n"/>
</layout>
</appender>
<appender name="appender4cooler2" class="org.apache.log4j.FileAppender">
<param name="File" value="gasturbine.log4cooler2.txt"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n"/>
</layout>
</appender>
<logger name="humidier" additivity="false">
<level value="info"/>
<appender-ref ref="appender4humidier"/>
</logger>
<logger name="cooler1" additivity="false">
<level value="info"/>
<appender-ref ref="appender4cooler1"/>
</logger>
<logger name="cooler2" additivity="false">
<level value="info"/>
<appender-ref ref="appender4cooler2"/>
</logger>
<root>
<level value ="debug"/>
<appender-ref ref="appender1"/>
<!--appender-ref ref="appender2"/-->
</root>
</log4j:configuration>
2)step2 修改logger封装类
/*
* Created on 2005-4-23
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package gasturbine.model.util;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
/**
* @author Pw
*
*
*/
public class SysLog {
static Logger logger = Logger.getRootLogger();
static {
DOMConfigurator.configure("classes/log4j.xml");
}
public static void debug(Object o) {
logger.debug(o);
}
public static void debug(double d) {
logger.debug(""+d);
}
public static void info(Object o,String name) {
Logger.getLogger(name).info(o);
}
public static void info(double d,String name) {
Logger.getLogger(name).info(""+d);
}
}
3)step3 客户端的调用
代码片断
SysLog.info(sb.toString(),"humidier");
SysLog.info(sb.toString(),"cooler1");
SysLog.info(sb.toString(),"cooler2");
博客围绕应用中多个类需记录不同信息到不同文件的需求展开。介绍了通过修改log4j配置文件,定义多个appender和logger;修改logger封装类以实现日志记录功能;最后给出客户端调用代码,实现不同类信息的分文件记录。
456

被折叠的 条评论
为什么被折叠?



