log4j是什么?
由 apache 推出的开源免费日志处理的类库
为什么需要日志?
在项目中编写 System.out.println();输出到控制台,当项目发布到 tomcat 后,没有控制台(在命令行界面能看见.),不容易观察一些输出结果
log4j作用
不仅能把内容输出到控制台,还能把内容输出到文件中.便于观察结果
使用步骤
- 导入 log4j-xxx.jar
- 在 src 下新建 log4j.properties(路径和名称都不允许改变)
ConversionPattern:写表达式
log4j.appender.LOGFILE.File 文件位置及名称(日志文件扩展名.log)
log4j.rootCategory=DEBUG, CONSOLE ,LOGFILE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppend er log4j.appender.CONSOLE.layout=org.apache.log4j.Patter nLayout log4j.appender.CONSOLE.layout.ConversionPattern=%C %d{
YYYY-MM-dd hh:mm:ss} %m %n
log4j.appender.LOGFILE=org.apache.log4j.FileAppender log4j.appender.LOGFILE.File=E:/my.log log4j.appender.LOGFILE.Append=true log4j.appender.LOGFILE.layout=org.apache.log4j.Patter nLayout log4j.appender.LOGFILE.layout.ConversionPattern=%C %m %L %n
log4j 输出级别
fatal(致命错误) > error (错误) > warn (警告) > info(普通信息)>debug(调试信息)
- 在 log4j.properties 的第一行中控制输出级别
设置什么级别,只有大于等于这个级别的才可以输出
log4j.rootCategory=DEBUG
- 在第一行控制输出目的地
log4j.rootCategory=CONSOLE,LOGFILE
#
pattern 中常用几个表达式
- %C 包名+类名
- %d{YYYY-MM-ddHH:mm:ss} 时间
- %L 行号
- %m 信息
- %n 换行
代码测试
Logger logger=Logger.getLogger(类名.class);
注:导包不要导错