需求:
打印:含有类名,message信息
使用的jar包:log4j
应用:Log.debug(Object caller, LogInfo loginfo, String Message)
Log.isDebugEnabled (Object caller)
Log.info(Object caller, LogInfo loginfo, String Message)
Log.warn(Object caller, LogInfo loginfo, String Message)
Log.error(Object caller, LogInfo loginfo, String Message)
Log.fatal(Object caller, LogInfo loginfo, String Message)
设计接口:interface LogWrapper
含有方法:debug(),isDebugEnabled(), info(),warn(),error(),fatal()
对应于应用需要以上接口方法。
实例:LogWrapperFactory()
Static synchronized LogWrapper.getInstance()
Static synchronized LogWrapper.getInstance(String classname)
处理详细:
没有实例时,加载Class.forName(),有实例,原样返回。
类名取得:如:Log4jLogWrapper
interface LogWrapper的log4j实现:
public class Log4jLogWrapper implements LogWrapper{}
LogInfo implements serilizable{}
用到java包:commons-logging-1.1.1.jar,
slf4j-api-1.5.11.jar
log4j-1.2.17.jar
log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<!-- Console -->
<appender name="Console" class="org.apache.log4j.ConsoleAppender">
<param name="threshold" value="debug" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyy/MM/dd HH:mm:ss.SSS}][%t] [%-22c{1}] [%-5p][%X{USER_ID}] %m%n" />
</layout>
</appender>
<logger name="aa.teraaaa">
<level value="debug" />
</logger>
<logger name="bb.terabb">
<level value="debug" />
</logger>
<logger name="jp.terasoluna.gap.transaction">
<level value="trace" />
</logger>
<logger name="java.sql">
<level value="debug" />
</logger>
<logger name="org.objectweb.jotm">
<level value="debug"/>
</logger>
<logger name="org.objectweb.jotm.jta">
<level value="debug"/>
</logger>
<logger name="org.objectweb.jotm.recovery">
<level value="debug"/>
</logger>
<!-- LOGGER ROOT -->
<root>
<priority value="info" />
<appender-ref ref="Console"/>
</root>
打印:含有类名,message信息
使用的jar包:log4j
应用:Log.debug(Object caller, LogInfo loginfo, String Message)
Log.isDebugEnabled (Object caller)
Log.info(Object caller, LogInfo loginfo, String Message)
Log.warn(Object caller, LogInfo loginfo, String Message)
Log.error(Object caller, LogInfo loginfo, String Message)
Log.fatal(Object caller, LogInfo loginfo, String Message)
设计接口:interface LogWrapper
含有方法:debug(),isDebugEnabled(), info(),warn(),error(),fatal()
对应于应用需要以上接口方法。
实例:LogWrapperFactory()
Static synchronized LogWrapper.getInstance()
Static synchronized LogWrapper.getInstance(String classname)
处理详细:
没有实例时,加载Class.forName(),有实例,原样返回。
类名取得:如:Log4jLogWrapper
interface LogWrapper的log4j实现:
public class Log4jLogWrapper implements LogWrapper{}
LogInfo implements serilizable{}
用到java包:commons-logging-1.1.1.jar,
slf4j-api-1.5.11.jar
log4j-1.2.17.jar
log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<!-- Console -->
<appender name="Console" class="org.apache.log4j.ConsoleAppender">
<param name="threshold" value="debug" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{yyyy/MM/dd HH:mm:ss.SSS}][%t] [%-22c{1}] [%-5p][%X{USER_ID}] %m%n" />
</layout>
</appender>
<logger name="aa.teraaaa">
<level value="debug" />
</logger>
<logger name="bb.terabb">
<level value="debug" />
</logger>
<logger name="jp.terasoluna.gap.transaction">
<level value="trace" />
</logger>
<logger name="java.sql">
<level value="debug" />
</logger>
<logger name="org.objectweb.jotm">
<level value="debug"/>
</logger>
<logger name="org.objectweb.jotm.jta">
<level value="debug"/>
</logger>
<logger name="org.objectweb.jotm.recovery">
<level value="debug"/>
</logger>
<!-- LOGGER ROOT -->
<root>
<priority value="info" />
<appender-ref ref="Console"/>
</root>
</log4j:configuration>
如果想了解更多相关的资料请关注(深圳家装公司 www.cjxzs.com)官网