log4j日志输出到控制台

时间:2022-11-01 19:59:13

项目结构:

log4j日志输出到控制台

只需引入log4j-*.jar即可


log4j.properties配置

 ### #配置根Logger ###
log4j.rootLogger=debug,stdout

### 输出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyy-MM-dd HH\:mm\:ss} %5p %c{1}\:%L - %m%n

配置详解

%m   输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH\:mm\:ss},输出类似:2015-12-09 22:05:36
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:TestLog4j:16

测试输出结果

2015-12-09 22:13:39  INFO TestLog4j:10 - i=0
2015-12-09 22:13:39 INFO TestLog4j:10 - i=1
2015-12-09 22:13:39 INFO TestLog4j:10 - i=2
2015-12-09 22:13:39 INFO TestLog4j:10 - i=3
2015-12-09 22:13:39 INFO TestLog4j:10 - i=4
2015-12-09 22:13:39 DEBUG TestLog4j:13 - #####logger.debug#####
2015-12-09 22:13:39 ERROR TestLog4j:15 - #####logger.error#####

TestLog4j.java

package com.wzs;

import org.apache.log4j.Logger;

public class TestLog4j {
private static Logger logger = Logger.getLogger(TestLog4j.class);

public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
logger.info("i=" + i);
}

logger.debug("#####logger.debug#####");

logger.error("#####logger.error#####");
}
}