Log4j的作用和级别
log4j的作用
什么是日志:
日志是系统运行过程中后台输出信息,方便程序员进行系统运行的管控以及Bug的查找
什么是Log4j?
Log4j是一个日志输出的插件,专门用来进行日志管理的。
传统方式获取日志:
使用System.out.println()语句进行后台打印
问题:
1.日志信息文法保存
2.无法显示完整的日志信息
3.日志的显示没有级别,所有的日志混杂在一起显示(无法进行日志信息的筛选)
4.日志显示格式不友好
解决:使用Log4j
使用Log4j进行日志管理:
特点:
1.日志可以单独保存在文件中
2.可以获取完整日志信息
3.可以进行日志显示的筛选
4.格式友好
Log4j的级别
Log4j的日志级别:
FATAI 致命的错误
ERROR 普通的错误
WARN 警告
INFO 信息(方法级别)
DEBUG 调试(代码级别)
配置文件解释
Log4j的配置文件解释:
注意:配置文件一定要存放在src下,并命名为log4j.properties
//设置全局默认配置
log4j.rootCategory=DEBUG, CONSOLE 日志级别,日志输出位置
//设置某包或者某个类或者某个方法的日志级别和输出位置
log4j.logger.包名=FATAL, CONSOLE 日志级别,输出位置
log4j.logger.包名.类名=FATAL, CONSOLE
log4j.logger.包名.类名.方法名=DEBUG, CONSOLE
//设置控制台输出配置
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=ERROR
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%p-%d{yyyy/MM/dd hh:mm:ss}-%l-%m%n
//设置文件输出配置
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=E:/mylog.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5r %c %x - %m%n
//常用的输出格式
%p-%d{yyyy/MM/dd hh:mm:ss}-%l-%m%n
Log4j自定义输出格式
自定义样式
%c 输出所属的类目,通常就是所在类的全名
%C 输出Logger所在类的名称,通常就是所在类的全名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},%d{ABSOLUTE},%d{DATE}
%F 输出所在类的类名称,只有类名。
%l 输出语句所在的行数,包括类名+方法名+文件名+行数
%L 输出语句所在的行数,只输出数字
%m 输出代码中指定的讯息,如log(message)中的message
%M 输出方法名
%p 输出日志级别,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
%% 用来输出百分号“%”
Log4j的使用流程
Log4j的使用流程:
导入Log4j的jar包
配置Log4j的配置文件
在使用Log4j的类中声明全局的变量
public static Logger logger = Logger.getLogger(类名.class);
使用Logger对象调用日志方法进行日志输出语句的声明
logger.debug("我是bug信息");//一般在方法内部使用
logger.info("我是info信息");//一般在调用方法使用
logger.warn("我是警告信息");//一般在需要警告的位置使用
logger.error("我是错误信息");//在catch代码块中使用
logger.fatal("我是致命的错误信息");//在catch代码块中使用
来源:CSDN
作者:LY_YHQ
链接:https://blog.csdn.net/qq_44307111/article/details/104356874