MyBatis log4j
一. log4j基础
- 由 apache 推出的开源免费日志处理的类库.
- 为什么需要日志:
2.1 在项目中编写 System.out.println();输出到控制台,当项目发布
到 tomcat 后,没有控制台(在命令行界面能看见.),不容易观察一些
输出结果.
2.2 log4j 作用,不仅能把内容输出到控制台,还能把内容输出到文件
中.便于观察结果
二. log4j使用
- 在lib文件夹下导入log4j-xxx.jar包
- 在 src 下新建 log4j.properties(路径和名称都不允许改变)
三. log4j内容含义
3.1 输出级别(5个)
- == fatal(致命错误) > error (错误) > warn (警告) > info(普通信
息) > debug(调试信息)== - 最小级别可以输出所有级别
- 在log4j.properties的第一行中控制输出级别
log4j.rootCategory=INFO, CONSOLE, LOGFILE
3.2 输出目的地(在第一行控制)
3.2.1 COUSOLE(控制台)
就是工具控制台中打印
3.2.2 LOGFILE(文件里)
与你设置的具体位置有关
3.3 ConversionPattern(写表达式)
- ConversionPattern表达式,输出形式
- %p: 输出日志信息优先级
- %C:包名+类名
- %L:输出代码中的行号
- %l:相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数
- %d{YYYY-MM-dd hh:mm:ss} :输出类似:2011-10-18 22:10:28,921
- %m:输出代码中指定的消息
- %n:相当于换行
3.4其他重要的下面代码里有注释
# Set root category priority to INFO and its only appender to CONSOLE.
# 在第一行控制:输出级别(fatal>error>warn>info>debug) ,输出目的地两个:CONSOLE(控制台);LOGFILE(文件)
# 在往下就是三块:具体设置级别;具体设置控制台输出;具体设置文件输出
log4j.rootCategory=ERROR,CONSOLE,LOGFILE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE
#命名级别(a包下)
#log4j.logger.a=DEBUG
#类级别(a包下的类b)
#log4j.logger.a.b=DEBUG
# 方法级别(a包下的类b下的方法c,d)
#log4j.logger.a.b.c=DEBUG
#log4j.logger.a.b.d=DEBUG
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
# log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
# ConversionPattern表达式,输出形式
# %p: 输出日志信息优先级
# %C:包名+类名
# %L:输出代码中的行号
# %l:相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数
# %d{YYYY-MM-dd hh:mm:ss} :输出类似:2011-10-18 22:10:28,921
# %m:输出代码中指定的消息
# %n:相当于换行
log4j.appender.CONSOLE.layout.ConversionPattern= %l %p %m %n
# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
# 文件输出位置 D:/my.log 下面的是相对路径(在项目中刷新看见)
log4j.appender.LOGFILE.File=axis.log
# 可以在文件后面追加信息
log4j.appender.LOGFILE.Append=true
# log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
# ConversionPattern表达式,输出形式
log4j.appender.LOGFILE.layout.ConversionPattern=%p %l %d{YYYY-MM-dd hh:mm:ss} %m %n
四. 初级使用
4.1 建立测试类(注意导包)
package com.wenli.test;
import org.apache.log4j.Logger;
public class Test {
public static void main(String[] args) {
Logger logger = Logger.getLogger(Test.class);
logger.debug("这是一条调试信息");
logger.info("普通信息");
}
}
4.2 设置log4j.properties里重要内容
最小级别就是所有的都输出
log4j.rootCategory=INFO, CONSOLE,LOGFILE
log4j.appender.CONSOLE.layout.ConversionPattern=%l %d{YYYY-MM-dd hh:mm:ss} %m %n
结果:
com.wenli.test.Test.main(Test.java:9) 2020-01-30 07:48:09 普通信息
将输出级别设置为DEBUG
log4j.rootCategory=DEBUG, CONSOLE,LOGFILE
结果:
com.wenli.test.Test.main(Test.java:8) 2020-01-30 07:50:12 这是一条调试信息
com.wenli.test.Test.main(Test.java:9) 2020-01-30 07:50:12 普通信息