logger日志

Level 描述
ALL 各级包括自定义级别
DEBUG 指定细粒度信息事件是最有用的应用程序调试
ERROR 错误事件可能仍然允许应用程序继续运行
FATAL 指定非常严重的错误事件,这可能导致应用程序中止
INFO 指定能够突出在粗粒度级别的应用程序运行情况的信息的消息
OFF 这是最高等级,为了关闭日志记录
TRACE 指定细粒度比DEBUG更低的信息事件
WARN 指定具有潜在危害的情况

日志级别是如何工作?

级别p的级别使用q,在记录日志请求时,如果p>=q启用。这条规则是log4j的核心。它假设级别是有序的。对于标准级别它们关系如下:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF。

下面的例子明确指出如何可以过滤所有的DEBUG和INFO消息。这个程序使用记录并执行setLevel(Level.X)方法来设置所需的日志记录级别:

这个例子将打印,除了调试和信息的所有消息:

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!");
   }
}

当编译并运行LogClass程序会产生以下结果:

Warn Message!
Error Message!
Fatal Message!

使用配置文件设置级别:

Log4j提供这些可以让程序员自由更改源代码,改变调试级别的配置级别是基于文件设置。

以下是上面的例子使用 log.setLevel(Level.WARN)方法的配置文件与上面的例子例子功能一样。

# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = WARN, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out

# Define the layout for file appender
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!");
   }
}

现在,编译和运行上面的程序,得到以下结果在 /usr/home/log4j/log.out 文件:

Warn Message!
Error Message!
Fatal Message!

转自:http://www.yiibai.com/log4j/log4j_logging_levels.html
时间: 2024-10-12 06:07:42

logger日志的相关文章

Android Logger日志系统

目录 目录 前言 运行时库层日志库liblog 源码分析 CC日志写入接口 Java日志写入接口 logcat工具分析 基础数据结构 前言 该篇文章是我的读书和实践笔记.参考的是<Android系统源代码情景分析>. 运行时库层日志库--liblog Android系统在运行时库层提供了一个用来和Logger日志驱动程序进行交互的日志库liblog.通过日志库liblog提供的接口,应用程序就可以方便地往Logger日志驱动程序中写入日志记录. 位于运行时库层的C/C++日志写入接口和位于应用

【java】java自带的java.util.logging.Logger日志功能

偶然翻阅到一篇文章,注意到Java自带的Logger日志功能,特地来细细的看一看,记录一下. 1.Java自带的日志功能,默认的配置 ①Logger的默认配置,位置在JRE安装目录下lib中的logging.properties中 ②logging.properties日志文件内容如下: ############################################################ # Default Logging Configuration File # # You

Poco logger 日志使用小析

Poco logger 日志使用小析 Poco logger 日志使用小析 日志 logger 库选择 Pocologger 架构简析 步骤一 生成消息 步骤二 写入logger 步骤三 导入channel 步骤四 写文件 使用 h file cpp file main 入口函数 备注 拓展 总结 转载请注明本文链接 日志 在软件开发过程中,为了定位软件运行过程中可能出现的错误,一种常用的做法是在潜在的错误位置,设置防御代码,并且将错误代码执行后的错误信息记录下来,以供后续改进代码提供支持. 在

Qt 实现 Logger 日志的显示

要求: 能够控制显示的总共行数.但不想要太重量级,简单显示就好. 参考StackOverflow 使用QPlainTextEdit If you want to limit the total number of paragraphs in a QPlainTextEdit, as it is for example useful in a log viewer, then you can use the maximumBlockCount property. The combination o

logger日志接口SLF4J

SLF4J只是一个接口,可以实现程序的解藕.SLF4J可以与log4j.logback.jdk等日志系统结合,以及在这些日志系统之间切换. 使用maven导入各个日志系统的jar包.需要注意的是要写相应的输出格式和级别配置,比如log4j的log4j.properties,对于另外两个不写使用默认的也行. <!-- 使用log4j作日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId&

java.util.logging.Logger日志生成过程浅析

java.util.logging包中主要的类有以下几个: LogManager 存在一个单一的全局 LogManager 对象,它可用于维护 Logger 和日志服务的一组共享状态. Logger Logger 对象用来记录特定系统或应用程序组件的日志消息 LogRecord LogRecord 对象用于在日志框架和单个日志 Handler 之间传递日志请求 Handler Handler 对象从 Logger 中获取日志信息,并将这些信息导出 Formatter Formatter 为格式化

通配置文件的方式控制java.util.logging.Logger日志输出

转自:http://zochen.iteye.com/blog/616151 简单的实现了下利用JDK中类java.util.logging.Logger来记录日志.主要在于仿照log4j方式用配置文件来配置日志的输出.网络上关于如何使用java.util.logging.Logger的文章很多,但是没有完整的如何通过配置配置文件来达到控制日志输出的资料.本文的目的在于此,欢迎拍砖.   上码... 1.首先封装了个LogManager.该类的主要作用就是static块中的代码,意在读取prop

Logger 日志记录

1.日记记录主要是当程序出现了BUG时候记录到数据库时候出现了问题.记录不了.就记录到Windows日志里面 具体用法如下: 需要引入(NuGet)EnterpriseLibrary.Common public void LogGeneral(GeneralLogEntry logEntry)         { var customLogFormatter = new GeneralLogFormatter("ld", "LogGeneral");        

java.util.logging.Logger日志生成过程浅析 (转)

http://www.tuicool.com/articles/vy6Zrye ****************************************** java.util.logging包中主要的类有以下几个: LogManager 存在一个单一的全局 LogManager 对象,它可用于维护 Logger 和日志服务的一组共享状态. Logger Logger 对象用来记录特定系统或应用程序组件的日志消息 LogRecord LogRecord 对象用于在日志框架和单个日志 Ha