日志log4j、log4j2

log4j属性文件

   

##define an appender named console 日志附加器,设置输出位置

log4j.appender.console=org.apache.log4j.ConsoleAppender

#The Target value is System.out or System.err

log4j.appender.console.Target=System.out

#set the layout type of the apperder

log4j.appender.console.layout=org.apache.log4j.PatternLayout

#set the layout format pattern

log4j.appender.console.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}] %c %L %m%n

   

   

##define a logger 根日志

#log4j.rootLogger=debug,console,file,rollfile

log4j.rootLogger=debug,console

   

日志级别

fatal,error,warn,info,debug,trace

   

log4j

导入jar包和properties文件,

Logger logger=Logger.getLogger(MyTest.class);

logger.fatal("fatal msg");

logger.error("error msg");

logger.warn("warn msg");

logger.info("info msg");

logger.debug("debug msg");

logger.trace("trace msg");

log4j2

导入jar包和xml配置文件

   

log4j属性文件结构分析

为什么log4j不用调用就可以输出日志,而log4j2不行?

需要配置log4j2的status属性

   

status属性跟level什么关系?

Configuration.status是log4j2管理log4j2内部输出信息,与人为设定的日志不同;level是管理人为指定的日志的级别

   

Log4j2配置文件

<?xmlversion="1.0"encoding="UTF-8"?>

   

<configurationstatus="DEBUG">

<appenders>

<Consolename="myConsole"target="SYSTEM_OUT">

<PatternLayoutpattern="[%-5p][%d{yyyy-MM-ddHH:mm:ss}][%c%L]%m%n"/>

</Console>

</appenders>

   

<loggers>

<!--

<loggername="全限定类名或接口名"level="info">

<appender-refref="myConsole"/>

</logger>

-->

<rootlevel="trace">

<appender-refref="myConsole"/>

<!--<appender-refref="myLogFile"/>

<appender-refref="myRollingFile"/>-->

</root>

</loggers>

   

</configuration>

   

猜你喜欢

转载自www.cnblogs.com/darknessplus/p/10047923.html