美文网首页
log4j 配置文件详解

log4j 配置文件详解

作者: Draper | 来源:发表于2017-03-25 02:04 被阅读0次

记下依赖包

<dependency>  
    <groupId>org.slf4j</groupId>  
    <artifactId>slf4j-api</artifactId>  
    <version>1.6.6</version>  
</dependency>  

<dependency>  
    <groupId>org.slf4j</groupId>  
    <artifactId>slf4j-log4j12</artifactId>  
    <version>1.6.6</version>  
</dependency>  

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

log4j 有三个核心功能

  • 日志信息的优先级
  • 日志信息的输出目的地
  • 日志输出的格式

而使用配置文件不仅会减轻工作量,而且可以使程序更加灵活

定义配置文件主要有两种方式

  • 使用 Java 的特性文件,即右键工程名 new 一个名为 log4j.properties 的文件

这个文件不同的 IDE,不同的项目放在不同的地方,有人说 src 同级, 也有人说
在 src/main/java 下,还有人说放在 src/main/resource。具体对象,具体讨论

  • 使用 xml 文件,具体怎么配置,我还没有试过。

语法

1.根类别(在类别层次的顶部,即全局性的日志级别)
配置根 Logger

log4j.rootLogger = [ level ], appenderName, appenderName,...
  • level 是日志记录的类别
    从高到低依次排序
关键字 用途
OFF 最高级别,关闭所有日志
FATAL 每个错误事件将会导致退出应用程序,这个时候可以停止应用程序了
ERROR 虽然发生错误事件,但是不影响系统的继续运行。打印错误异常和信息,如果不需要打印太多,可以使用这个级别
WARN 会出现潜在错误信息,有些信息不是错误信息,但是需要给程序员一些提示
INFO 消息在粗粒度级别上突出强调应用程序的运行过程,打印一些感兴趣或者重要的信息。这个可以用于生产环境中输出程序的一些重要信息,但是不能滥用
DEBUG 指出细粒度事件对于调试还是费城有帮助的,主要打印一些在开发过程中打印一些运行信息
TRACE 很低级别的日志,一般不会用
ALL 级别最低,打印所有日志

log4j 推荐只使用 ERROR, WARN, INFO, DEBUG

通过定义级别,只有比这个高的级别可以打印出来

  • appenderName 指定日志发送到哪个地方,可以同时指定多个输出地

例如:

log4j.rootLogger=INFO,stdout,Runlog,Errorlog

DEBUG 级别日志将会被屏蔽,输出的目的地有三个, stdout 、Runlog 和 Errorlog

2.配置日志的目的地

  • log4j.appender.appenderName = fully.qualified.name.of.appender.class

fully.qualifled.name.of.appender.class 是你日志发送目的地的类型
样式是:org.apache.log4j.XXXXXX

这里说几个常用的

XXXXXX 类型 实际使用
ConsoleAppender 控制台
FileAppender 文件
DailyRollingFileAppender 每天产生一个文件 当天之后日志文件就会被以xxx+昨天的日期来命名,也就是每天一个日志文件
RollingFileAppender 文件到达指定大小产生一个新文件 当日志文件到底指定尺寸时,那么原来的日志文件将会被加上序号,例如xxx.1,值得注意的是,若是再超过指定尺寸(MaxFileSize)需要增加一个日志文件时,那么原来xxx.1的文件会加上1变成xxx.2。也就是说,数字越大的日志文件记录的日志时间越早!
WriterAppender 将日志以流的形式发送到任意指定地方 ConsoleAppender和FileAppender的父类,一般不直接使用,而是会使用其子类,如ConsoleAppender
net.SMTPAppender 邮件
jdbc.JDBCAppender 数据库

还有一些:GUI组件,套接口服务器,NT 时间记录器,UNIX Syslog 守护进程等。

3.常用的输出格式

格式 意义
-X号 X 信息输出是左对齐
%p 日志输出信息级别
%d{} 日志信息产生的信息
%c 日志信息产生的所在类名
%m 日志产生的具体信息
%n 输出日志信息换行

例如:
这个我相信不解释大家也能看得懂

log4j.appender.stdout.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n 
log4j.appender.Runlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n 
log4j.appender.Errorlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n

4.布局
log4j 提供四种布局

布局 形式
org.apache.log4j.HTMLLayout 以HTML表格形式布局
org.apache.log4j.PatternLayout 可以灵活地指定布局模式
org.apache.log4j.SimpleLayout 包含日志信息的级别和信息字符串
org.apache.log4j.TTCCLayout 包含日志产生的时间、线程、类别等等信息

例如:

log4j.appender.stdout.layout=org.apache.log4j.HTMLLayout

这里给大家推荐一篇非常好的博客
Log4j扩展使用--输出地Appender

参考资料:
log4j的8个日志级别(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL)
Log4j输出终端(Appender)详解

相关文章

  • log4j配置文件详解

    log4j配置文件详解 https://blog.csdn.net/azheng270/article/detai...

  • java logger

    日志系统 log4j配置文件详解 引用:http://www.cnblogs.com/ITtangtang/p/3...

  • java 测试项目的流程

    导入 log4j、junit4 、封建logs目录 log4j 配置文件

  • 每天吃一点Androidの日志

    一. Log4j 官网参考资料:Log4j使用详解(整理) 1.1、前言 1.1.1、 出生:Log4j是Apac...

  • MyBatis 实例

    确定依赖 确定目前的目录结构 编写log4j配置文件 编写log4j配置文件在resource目录下新建log4j...

  • log4j 配置文件详解

    记下依赖包 log4j 有三个核心功能 日志信息的优先级 日志信息的输出目的地 日志输出的格式 而使用配置文件不仅...

  • struts2.3升级到 struts2.5.13

    log4j 1 升级到 log4j 2 1、删除掉 log4j 1的配置文件。如 classpath 下面的 lo...

  • Log4J日志

    配置Log4j Log4j由三个重要的组件构成: 配置文件 步骤 1.配置根Logger 2.配置文件的输出目的地...

  • log4j配置

    log4j配置 Log4j 的配置包括在配置文件中指定 Level、定义 Appender 和指明 Layout。...

  • Log4j2详解——XML配置详解

    Log4j 2 配置详解 Log4j 2 的配置种类 Log4j 2 的配置可以通过以下四种方式之一来实现: 通过...

网友评论

      本文标题:log4j 配置文件详解

      本文链接:https://www.haomeiwen.com/subject/iikqottx.html