使用log4j记录日志

 

目录


 

log4j的优点

导入log4j的jar包

log4j的错误级别

log4j日志的输出目的地

log4j的配置示例

log4j的全局配置讲解

控制台日志的配置讲解

日志输出文件的配置讲解

使用log4j进行日志记录

注意事项

设置特定的错误级别

 

 


 

 

 

log4j的优点

  平时我们在开发web项目时,一般都是通过控制台来看日志内容,但是一旦服务器停止,那么日志内容也就消失了,虽然我们自己可以写一个工具,专门用来将控制台显示的日志写入一个文件中,这样的话,即使服务器停止,日志依旧存在,之后,就可以对日志进行一些分析,来排错、优化。

  log4j是一个java专用的日志包,使用log4j来记录日志,不仅会在控制台打印日志,同时也将日志写到一个磁盘文件中。使用log4j的话,我们就不用再去写一个相同功能的工具了。

 

 

导入log4j的jar包

  下载地址:https://logging.apache.org/log4j/2.x/

  下载之后,将jar包添加到build path中即可。

 

 

log4j的错误级别

  在log4j中,一共有5个错误级别,分别是:

  1、fatal(致命错误)

  2、error(错误)

  3、warn(警告)

  4、info(提示信息)

  5、debug(调试信息)

 

 

log4j日志的输出目的地

  前面已经说了log4j不仅可以在控制台打印日志,也可以将日志写入文件,所以,log4j日志输出有两个目的地:

  1、console(控制台)

  2、logfile(日志文件)

 

 

log4j的配置示例

  在项目的src目录下,创建log4j.properties文件,先看一个配置示例,然后解释配置项

log4j.rootCategory=DEBUG, CONSOLE,LOGFILE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=-%p - %d{yyyy/MM/dd HH:mm:ss} - %C - line:%L - %m%n

log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=D:/axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=-%p - %d{yyyy/MM/dd HH:mm:ss} - %C - line:%L - %m%n

  

 

log4j的全局配置

log4j.rootCategory=DEBUG, CONSOLE,LOGFILE

  这一行配置,表示,log4j打印的日志错误级别是DEBUG(不区分大小写),日志会显示在控制台(console),同时也会将日志写到文件中(logfile)。

 

 

控制台日志的配置

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=-%p - %d{yyyy/MM/dd HH:mm:ss} - %C - line:%L - %m%n

  上面这三行配置,从左边的键就可以看出这是对显示在控制台的日志格式进行设置的。

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

  表示向控制台输出日志时,使用org.apache.log4j.ConsoleAppender这个类来实现功能。

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

  表示输出的格式使用org.apache.log4j.PatternLayout这个类来管理。

log4j.appender.CONSOLE.layout.ConversionPattern=-%p - %d{yyyy/MM/dd HH:mm:ss} - %C - line:%L - %m%n

  指定输出的格式。其中常用的几个表达式如下:

%p输出日志的错误级别
%C包名.类名
%d{YYYY-MM-dd HH:mm:ss}时间
%L行号
%m日志输出的信息
%n换行

 

 

 

日志输出文件的配置

log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=D:/axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=-%p - %d{yyyy/MM/dd HH:mm:ss} - %C - line:%L - %m%n

  上面这几行,和控制台日志输出的配置方法一样。

 

 

使用log4j进行日志记录

package test;

import org.apache.log4j.Logger;

public class TestLog4j {
	public static void main(String[] args) {
		Logger logger = Logger.getLogger(TestLog4j.class);
		
		logger.info("这是日志信息");
		
	}
}

  

 

注意事项

  1、导入Looger包的时候,不要导错误的包,应该是:

import org.apache.log4j.Logger;

  2、Logger类定义了log4j相同级别的5个方法,分别是debug()、info()、warn()、error()、fatal(),在使用这5个方法的时候,需要注意,如果配置文件中设置的错误级别是warn(警告级别),那么使用debug()和info()并不会真的输出日志,只有当使用warn(),error(),fatal()来打印日志的时候,才会真的输出日志。所以说,只有当错误级别高于或等于配置文件中是设定的级别时,日志才会被打印,否则就不有输出内容。

 

 

设置特定的错误级别

  我们的项目中,可能有的地方一点点细微的错误或者警告都很重要,而在有些地方,一些警告都可以忽略。所以,如果我们在log4j.properties中指定log4j追踪的错误级别,这个就有点抓不到重心的感觉。

  log4j提供了一个功能,可以专门为某个包下面的类进行设置错误级别,也可以专门为某个特定的类设置错误级别,甚至可以专门为某个特定的方法设置错误级别。

log4j.rootCategory=error, console, logfile

# 将lixin.gan.mapp包下面的所有类的错误级别设置为debug
log4j.lixin.gan.mapper=debug

# 将lixin.gan.service.impl.UserServiceImpl这个类的错误级别设置为error
log4j.lixin.gan.service.impl.UserServiceImpl=error

# 将lixin.gan.service.impl.AdminServiceImpl类中的show方法的错误级别设置为error
log4j.lixin.gan.service.impl.AdminServiceImpl.show=error

  

 

转载于:https://www.cnblogs.com/-beyond/p/10071918.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值