Log4j按级别输出日志到不同的文件
2011-06-14 16:11
561 查看
spring中对log的使用:
private static final Log logger = LogFactory.getLog(ContextLoader.class);
private static final String DEFAULT_STRATEGIES_PATH = "ContextLoader.properties";
private static final Properties defaultStrategies;
可见:static final中的大写只针对String类型,代表字符串常量,其他类型则一般不用大写。
写法1:方便继承:protected , 不用写类名:this.getClass().getName()
方法2:在构造函数中初始化
例子:无配置文件
Log4j按级别输出日志到不同的文件
private static final Log logger = LogFactory.getLog(ContextLoader.class);
private static final String DEFAULT_STRATEGIES_PATH = "ContextLoader.properties";
private static final Properties defaultStrategies;
可见:static final中的大写只针对String类型,代表字符串常量,其他类型则一般不用大写。
写法1:方便继承:protected , 不用写类名:this.getClass().getName()
protected Logger logger = LoggerFactory.getLogger(this.getClass().getName());
方法2:在构造函数中初始化
protected static Logger logger; CaseToSourcePanamaMojo(){ logger = LoggerFactory.getLogger(getClass().getName()); }
例子:无配置文件
Logger logger = Logger.getLogger(Log4jSample.class); BasicConfigurator.configure(); logger.setLevel(Level.INFO); logger.debug("debug msg."); logger.info("info msg."); logger.warn("warn msg."); logger.error("error msg."); logger.fatal("fatal msg.");
Log4j按级别输出日志到不同的文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <!--#log4j中有5级logger ,#FATAL 0 ,#ERROR 3 ,#WARN 4 ,#INFO 6 ,#DEBUG 7 --> <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> <!--输出到控制台--> <!-- <appender name="LOG.Console" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" /> </layout> </appender> --> <!--将级别为DEBUG的信息输出到控制台--> <appender name="LOG.DEBUG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="debug.log" /> <param name="MaxFileSize" value="5120KB" /> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="DEBUG" /> <param name="LevelMax" value="DEBUG" /> </filter> </appender> <!--将级别为INFO的信息输出到控制台--> <appender name="LOG.INFO" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="info.log" /> <param name="MaxFileSize" value="5120KB" /> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="INFO" /> <param name="LevelMax" value="INFO" /> </filter> </appender> <!--将级别为WARN的信息输出到控制台--> <appender name="LOG.WARN" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="warn.log" /> <param name="MaxFileSize" value="5120KB" /> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="WARN" /> <param name="LevelMax" value="WARN" /> </filter> </appender> <!--将级别为ERROR的信息输出到控制台--> <appender name="LOG.ERROR" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="error.log" /> <param name="MaxFileSize" value="5120KB" /> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="ERROR" /> <param name="LevelMax" value="ERROR" /> </filter> </appender> <!--将级别为FATAL的信息输出到控制台--> <appender name="LOG.FATAL" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="fatal.log" /> <param name="MaxFileSize" value="5120KB" /> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} [%-5p] %c {%F:%L} - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="FATAL" /> <param name="LevelMax" value="FATAL" /> </filter> </appender> <!-- <appender name="InitAction" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="d:/dbcon.log"/> <param name="MaxFileSize" value="5120KB"/> <param name="MaxFileSize" value="10" /> <param name="MaxBackupIndex" value="2" /> <param name="DatePattern" value="'.'yyyy-MM-dd'.'log"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm:ss} - %m%n"/> <param name="ConversionPattern" value="%d{DATE} [%-5p] %c {%F:%L} - %m%n"/> </layout> </appender> --> <!--设置org.logicalcobwebs包的输出级别为INFO--> <!-- <category name="org.logicalcobwebs"> <priority value="INFO" /> <appender-ref ref="LOG.Console" /> </category> --> <root> <priority value="DEBUG"/> <!-- <appender-ref ref="LOG.Console" /> --> <appender-ref ref="LOG.DEBUG" /> <appender-ref ref="LOG.INFO" /> <appender-ref ref="LOG.WARN" /> <appender-ref ref="LOG.ERROR" /> <appender-ref ref="LOG.FATAL" /> </root> </log4j:configuration> import junit.framework.Test; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import org.apache.log4j.xml.DOMConfigurator; public class Simpandfile { static Logger logger = Logger.getLogger(Test.class); public static void main(String args[]) { // 以property方式读到配置文件。 //PropertyConfigurator.configure("simple.properties"); DOMConfigurator.configure("xmllog4jconfig.xml"); logger.debug("Here is some DEBUG"); logger.info("Here is some INFO"); logger.warn("Here is some WARN"); logger.error("Here is some ERROR"); logger.fatal("Here is some FATAL"); } } |
============================================================================= 1、输出类的相对路径,而不是全部长度 <param name="ConversionPattern" value="%d [%X{requestURIWithQueryString}] %-5p %c{2} - %m%n" /> 2、ibatis输出sql log4j.rootLogger=debug,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.conversionPattern=[%5p] %d{mm:ss}/(%F:%M:%L)%n%m%n%n log4j.logger.com.ibatis=debug log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug log4j.logger.java.sql.Connection=debug log4j.logger.java.sql.Statement=debug log4j.logger.java.sql.PreparedStatement=debug,stdout |
相关文章推荐
- Log4j按级别输出日志到不同文件配置分析
- Log4j按级别输出日志到不同的文件
- Log4j按级别输出日志到不同文件配置分析
- Log4j按级别输出日志到不同的文件
- Log4J日志配置详解和自定义log4j日志级别及输出日志到不同文件实现方法
- Log4J日志配置详解和自定义log4j日志级别及输出日志到不同文件实现方法
- Log4j按级别输出日志到不同文件配置分析
- Log4j按级别输出日志到不同文件配置分析
- log4j日志分级别输出到不同文件
- Log4j按级别输出日志到不同文件配置分析
- Log4j按级别输出日志到不同文件
- Log4j按级别输出日志到不同文件配置分析
- Log4j按级别输出日志到不同的文件
- Log4j按级别输出日志到不同的文件2009-09-07 13:29会按日存分割日志文件,并且根据级别输出到不同的文件
- log4j日志输出分级别或模块到不同文件
- JAVA项目中,配置LOG4j,将日志按照不同级别输出到控制台和文件中
- Log4j按级别输出日志到不同文件配置分析
- Log4j按级别输出日志到不同文件配置分析
- log4j按不同级别输出到日志文件
- 【J2EE系列】log4j日志输出分级别或模块到不同文件