作者:何征天
课程视频地址:https://ke.qq.com/course/273907
1. 做一个事情
* 导入日志jar包(资料/jar包/log4j/所有jar包)
* 把log4j.properties文件拷贝到src目录下就OK。
注意:Hibernate开发包中只是提供了一个日志接口的包slf4j,并没有提供日志的具体实现,因此,需要额外下载slf4j和log4j的开发包。
【什么是slf4j】
slf4j-api只是接口包(解耦合的思想,静态绑定思想),需要日志系统的实现log4j
n slf4j整合log4j的jar:slf4j-log4j12-1.7.2.jar slf4j-api-1.6.1.jar
log4j的开发jar:log4j-1.2.16.jar
### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L-%m%n
### direct messages to file mylog.log ### log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=d:\\mylog.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L-%m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=info,stdout |
在com.igeek.demo2中创建TestLog4j类
packagecom.igeek.demo2;
import org.apache.log4j.Logger; import org.junit.Test;
publicclass TestLog4j { //创建日志记录对象 private Logger logger = Logger.getLogger(TestLog4j.class);
@Test publicvoid run1(){ System.out.println("sysout打印日志..."); logger.info("log4j打印的日志..."); } }
|
运行单元测试,两种方式都可以输出日志:
修改log4j.properties,把log4j.rootLogger=info,stdout,改成log4j.rootLogger=off, stdout,关闭日志输出
运行单元测试,使用log4j关闭了日志输出:
修改log4j.properties,把log4j.rootLogger=info,stdout,改成log4j.rootLogger=info,file,
把日志输出到文件中log4j.appender.file.File=d:\\mylog.log
运行单元测试,在d盘中会自动创建mylog.log文件并保存日志信息(项目上线后使用这种方式)