log4j小结

来源:互联网 发布:深圳pmp培训机构 知乎 编辑:程序博客网 时间:2024/06/05 05:24

核心包:


org.apache.log4j

三大组件


Loggers

日志操作

Appenders 

日志的展现形式

Layouts

日志的展现格式


日志等级


TRACE
DEBUG
INFO
WARN
ERROR
FATAL

TRACE < DEBUG < INFO < WARN < ERROR < FATAL


日志请求等级


logger.debug(Object message) //日志请求等级为:DEBUGinfo(Object message) //日志请求等级为:INFOlogger.error(Object message) //日志请求等级为:ERROR

日志请求等级必须>=日志等级,否则请求日志操作无效

demo:


### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n### direct messages to file myfile.log ###log4j.appender.myfile=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.myfile.File=logs/myfile.loglog4j.appender.myfile.DatePattern='.'yyyy-MM-ddlog4j.appender.myfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.myfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%nlog4j.rootLogger=warn, stdout,myfile

说明:

log4j.rootLogger=warn, stdout,myfile定义主日志工具:rootLogger,其它日志工具可以通过日志名称从它继承日志级别:warn定义2两个Appenderstdout:org.apache.log4j.ConsoleAppender对应log4j.appender.stdout及log4j.appender.stdout.layout的配置myfile:org.apache.log4j.DailyRollingFileAppender对应log4j.appender.myfile及log4j.appender.myfile.layout的配置

代码:

public class LogTest {Logger logger=Logger.getLogger("test");@Testpublic void testLog(){logger.debug("debug...");logger.info("info...");logger.warn("warn...");logger.error("error...");logger.fatal("fatal...");}}

运行结果:

2014-06-29 05:46:50,805  WARN test:15 - warn...2014-06-29 05:46:50,807 ERROR test:16 - error...2014-06-29 05:46:50,807 FATAL test:17 - fatal...


日志继承:


### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c:%L - %m%n### direct messages to file myfile.log ###log4j.appender.myfile=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.myfile.File=logs/myfile.loglog4j.appender.myfile.DatePattern='.'yyyy-MM-ddlog4j.appender.myfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.myfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c:%L - %m%nlog4j.rootLogger=warn, stdout,myfile### name:com.demo,level:info,Appender and layout inherit rootLogger ###log4j.logger.com.demo=info
说明:

log4j.logger.com.demo=info日志名称:com.demo日志等级为:infoAppender and layout 继承 rootLogger

代码:

package org.log.test;import static org.junit.Assert.*;import org.apache.log4j.Logger;import org.junit.Test;public class LogTest {Logger logger=Logger.getLogger("com.demo.test");@Testpublic void testLog(){logger.debug("debug...");logger.info("info...");logger.warn("warn...");logger.error("error...");logger.fatal("fatal...");}}

com.demo.test 继承com.demo,通过包名形式的名称来实现

结果:

2014-06-29 06:12:13,488  INFO com.demo.test:14 - info...2014-06-29 06:12:13,491  WARN com.demo.test:15 - warn...2014-06-29 06:12:13,492 ERROR com.demo.test:16 - error...2014-06-29 06:12:13,492 FATAL com.demo.test:17 - fatal...


0 0
原创粉丝点击