Log4j官方文档翻译(六、日志的级别)

org.apache.log4j.Level 类提供了下面几种日志级别,你也可以通过继承这些类,自定义级别

  • ALL 所有日志级别都包括
  • DEBUG 指定信息事件的粒度是DEBUG,在调试应用的时候会有帮助
  • ERROR 指定错误事件,并且这些事件还会保证应用继续运行
  • FATAL 指定严重的错误事件,该事件会导致应用暂停
  • INFO 指定信息消息,强调应用粗粒度的运行情况
  • OFF 最高等级,相当与关闭了日志
  • TRACE 指定比DEBUG更细粒度的调试日志
  • WARN 输出具有潜在风险的信息

如何使用不同的级别

log4j中日志的级别是排好序的,一般的标准是
ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
如果日志本身使用的是WARN输出,但是log4j设置的级别是FATAL,则不会输出;相反,如果设置的是DEBUG,则会输出。

下面这个例子,展示了如何过滤DEBUG和INFO消息。

import org.apache.log4j.*;public class LogClass {private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class);public static void main(String[] args) {log.setLevel(Level.WARN);log.trace("Trace Message!");log.debug("Debug Message!");log.info("Info Message!");log.warn("Warn Message!");log.error("Error Message!");log.fatal("Fatal Message!");}}

当编译后执行,会得到如下的结果:


Warn Message!
Error Message!
Fatal Message!

在配置文件中设置级别

log4j支持在配置文件中设置日志的默认级别,这样就不用修改源代码,就可以改变日志的级别了。

下面就给出了一个配置文件的例子,与上面log.setLevel(Level.WARN)方法相同的工作:

log = /usr/home/log4j
log4j.rootLogger = WARN, FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

然后运行下面的代码:


import org.apache.log4j.*;public class LogClass {private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class);public static void main(String[] args) {log.trace("Trace Message!");log.debug("Debug Message!");log.info("Info Message!");log.warn("Warn Message!");log.error("Error Message!");log.fatal("Fatal Message!");
}
}

运行上述的代码,就会得到:

MessageMessageMessage

本文转自博客园xingoo的博客,原文链接:Log4j官方文档翻译(六、日志的级别),如需转载请自行联系原博主。

时间: 2024-09-17 11:29:31

Log4j官方文档翻译(六、日志的级别)的相关文章

Log4j官方文档翻译(五、日志输出的方法)

日志类提供了很多方法用于处理日志活动,它不允许我们自己实例化一个logger,但是提供给我们两种静态方法获得logger对象: public static Logger getRootLogger(); public static Logger getLogger(String name); 第一种方法返回应用实例的根logger,它没有名字. 第二种方法可以通过名字获得日志对象logger,类的名字是你传递的class的名字,通常是一个class的类名或者包名.static Logger lo

Log4j官方文档翻译(四、如何在java中输出日志消息)

我们已经创建来配置文件,本章详细的介绍下如何生成调试信息,并把他们转化成文本文件. 基本的例子 下面就是创建的一个基本的例子: log4j.properties的内容为: log = /usr/home/log4j log4j.rootLogger = DEBUG, FILE log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out log4j.appender.FILE.l

Log4j官方文档翻译(七、日志格式化)

apache log4j提供各种layout对象,然后根据自己指定的layouts对象转化日志信息.通常来说都是应用量身定制layout对象转换信息格式. 所有的layout对象从Appender对象中接收一个LoggingEvent对象.然后通过LoggingEvent对象解析信息,再通过合适的ObjectRenderer获得相应的字符串. Layout类型 最顶层的抽象类是org.apache.log4j.Layout,这是log4jAPI中layout的基类. Layout类定义为一个抽象

Log4j官方文档翻译(一、基本介绍)

log4j是使用java语言编写的可靠的.快速的.灵活的日志框架,它是基于Apache的license. log4j支持c,c++,c#,perl,python,ruby等语言.在运行时通过额外的配置文件配置,提供不同的日志级别以及多种日志输出种类,比如数据库,文件,控制台,syslog等等. log4j有三个主要部分: loggers 负责捕获日志信息 appenders 负责输出信息到不同的目的地 layouts 负责使用不同的样式输出日志 log4j的特性: 线程安全 优化速度 基于命名的

Log4j官方文档翻译(二、架构设计)

log4j遵循层次化架构,每个层都有不同的对象来执行不同的任务.这种层次话的结构灵活设计.易于未来的扩展. log4j框架中有两种对象: 核心对象:框架的支撑对象,是框架必不可少的组成部分. 支撑对象:这些是框架可选的对象,用于提供额外重要的工作. 核心对象包括下面几种类型: logger对象,是最高的层,负责通过不同的风格转化日志信息.它提供给appender对象发布前的信息.(这里的层是指所处的位置) layout对象,用于提供格式化日志信息的风格,在发布日志信息前,使其变得可读.可重用.

Log4j官方文档翻译(三、配置)

之前的章节介绍了log4j的核心组件,本章将会通过配置文件介绍一下核心组建的配置. 主要在配置文件中配置log4j的日志级别,定义appender.layout等. log4j.properties是log4j的配置文件,它采用键值对的方式定义. 默认情况下,logManager对象会在CLASSPATH目录下寻找log4j.properties. 先看看基本的配置模板 # Define the root logger with appender X log4j.rootLogger = DEB

Log4j官方文档翻译(九、输出到数据库)

log4j提供了org.apache.log4j.JDBCAppender对象,可以把日志输出到特定的数据库. 常用的属性: bufferSize 设置buffer的大小,默认是1 driver 设置数据库的驱动字符串,比如sun.jdbc.odbc.OdbcDriver layout 设置使用的layout,默认是org.apache.log4j.PatternLayout password 设置数据的密码 sql 设置每次日志产生的时候执行的sql语句,可以是INSERT,UPDATE,DE

使用Log4j为项目配置日志输出应用详解以及示例演示的实现分析_java

Log4j组件构成  Log4j由三个重要的组件构成: 1.日志信息的优先级(Logger) 2.日志信息的输出目的地(Appender) 3.日志信息的输出格式(Layout). 概要: 日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度: 日志信息的输出目的地指定了日志将打印到控制台还是文件中: 而输出格式则控制了日志信息的显示内容. Log4j介绍 Log4j是 Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信

log4j 与ssh框架日志输出问题

问题描述 log4j 与ssh框架日志输出问题 log4j我知道是日志软件,但我现在想不明白的是项目中加了log4j,然后在log4j配置文件中写它的输出格式,我的项目是ssh框架,spring,struts2输出的日志是按照log4j的格式输出,为什么hibernate没有??还有我就是想问这三大框架的日志也是log4j输出的吗 解决方案 log4j日志框架log4j日志问题Spring MVC框架配置log4j输出日志到文件 解决方案二: Hibernate本身可能也需要单独配置一次.