超详细的log4j的配置和使用

1、为什么使用log4j

log4j是Apache的一个开放源代码的项目,通过使用log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器等。可以使我们开发人员很容易的看清程序的执行流程。 当程序报错的时候,也就是log4j大展身手的时候,是一个使用简单却好用的开源组件。
在这里插入图片描述
一起来看看吧

2、Log4j的使用

一、导入Log4j的依赖

<dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.12</version>
</dependency>

二、编写Log4j核心的配置文件

定义一个根入口

//定义根,log4j.rootLogger表示logging的级别和输出方式,是必不可少的一部分
//基本语法 : log4j.rootLogger =	级别,自定义属性
//DEBUG < INFO < WARN < ERROR < FATAL,一般是DEBUG
log4j.rootLogger = debug,printMethod 

1、日志输出到控制台

// console就是自定义的属性printMethod
// 声明日志输出在控制台
log4j.appender.console = org.apache.log4j.ConsoleAppender
// 使用流的形式输出到控制台
log4j.appender.console.Target = System.out
// 配置CONSOLE设置为自定义布局模式
log4j.appender.console.layout = org.apache.log4j.PatternLayout
// 配置CONSOLE日志的输出格式  2019-08-22 22:52:12,000
// %r耗费毫秒数 %p日志的优先级 %t线程名 %C所属类名通常为全类名 %L代码中的行号 %x线程相关联的NDC %m日志 %n换行
log4j.appender.console.layout.ConversionPattern = [%-5p] %d{
    
     HH:mm:ss,SSS} [%t]:%m%n

2、日志输出到指定文件

//logfile就是自定义的属性printMethod,文件会自动创建,不需要开发者创建	
// 配置logfile输出到文件中 文件大小到达指定尺寸的时候产生新的日志文件
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
// 保存编码格式
log4j.appender.logfile.Encoding=UTF-8
// 输出文件位置此为项目根目录下的logs文件夹中
log4j.appender.logfile.File=E:\\mylo.log
// 后缀可以是KB,MB,GB达到该大小后创建新的日志文件
log4j.appender.logfile.MaxFileSize=10MB
// 设置滚定文件的最大值3 指可以产生root.log.1、root.log.2、root.log.3和root.log四个日志文件
log4j.appender.logfile.MaxBackupIndex=3
// 配置logfile为自定义布局模式
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{
    
    yyyy-MM-dd HH:mm:ss} %F %p %m%n

3、为特定的包或类进行日志输出

// 对service.Test类做单独的日志输出
// log4j.logger创建一个子根,语法 : log4j.logger.包名/类名 = 级别,自定义属性
log4j.logger.service.Test=DEBUG,stdout
// 设置为false该日志信息就不会加入到rootLogger中了
log4j.additivity.service.test=false
//  输出到指定的文件
log4j.appender.stdout=org.apache.log4j.RollingFileAppender
log4j.appender.stdout.Encoding=UTF-8
log4j.appender.stdout.File=E:\\mylo.log
log4j.appender.stdout.MaxFileSize=10MB
log4j.appender.stdout.MaxBackupIndex=3
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{
    
    yyyy-MM-dd HH:mm:ss} %F %p %m%n

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45515182/article/details/123099307