级别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!

【正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个“顶”字,你就顺手把它点了吧(要先登录CSDN账号哦 )】


—–乐于分享,共同进步!
—–更多文章请看:http://blog.csdn.net/duruiqi_fx


转载于:https://www.cnblogs.com/hainange/p/6153811.html

log4j日志记录级别是如何工作?相关推荐

  1. Hibernate Log4j日志记录

    Hibernate Log4j日志记录 欢迎来到Hibernate Log4j Logging示例.Hibernate 4在旧的hibernate版本中使用JBoss日志而不是slf4j.今天我们将研 ...

  2. 【ELK】ELK菜鸟手记 (一) 环境配置+log4j日志记录——转自Master HaKu

    感谢Master HaKu的分享,博客园的账号忘了,文章里面有原文链接,尊重原创 ELK菜鸟手记 (一) 环境配置+log4j日志记录 - Master HaKu - 博客园 Master HaKu ...

  3. Hibernate 使用log4j日志记录

    日志记录使程序员能够将日志详细信息永久写入文件.这是我们以后在开发当中非常重要的一步. Hibernate使用log4j日志记录,我们需要以下几个步骤: 1.导入jar包: (1)这是hibernat ...

  4. java开源项目之IQQ学习记录之单例模式与log4j日志记录

    作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/18992741 打开IQQ项目,打开包iqq.app中的 ...

  5. python日志记录_Python日志记录

    python日志记录 To start, logging is a way of tracking events in a program when it runs and is in executi ...

  6. Spring / Hibernate使用log4jdbc改进了SQL日志记录

    Hibernate提供了开箱即用的SQL日志记录,但是这种日志记录仅显示准备好的语句,而不显示发送到数据库的实际SQL查询. 它还不会记录每个查询的执行时间,这对于性能故障排除很有用. 这篇博客文章将 ...

  7. TinyLog –轻量级Java日志记录框架教程

    TinyLog is a simple and lightweight logging framework for Java. We can use tinylog with Java, Kotlin ...

  8. syslog日志记录

    syslog日志记录 http://www.voidcn.com/article/p-tgpvlaby-bd.html syslog两个规范: RFC3164(被RFC5424替代了):UDP RFC ...

  9. 使用log4j记录日志_使用log4j2免费分配日志记录

    使用log4j记录日志 介绍 最近,我正在为一个客户端工作,试图为大型精心制作的Java系统消除一些GC暂停. 经过分析后,我意识到大部分垃圾都是通过日志记录产生的! 是否有一种简单的方法来删除所有分 ...

最新文章

  1. Kipmi0 占用100% CPU1核
  2. 抽象类应用——模板方法模式
  3. springmvc 配置 fastjson解析器
  4. JZOJ 5630. 【NOI2018模拟4.4】Connection
  5. blob jdbc mysql,JDBC能否处理Blob和Clob?
  6. 操作表格_Excel表格基础操作-新手入门级
  7. Memcahce(MC)系列(三)Memcached它PHP转让
  8. android 跨进程点击方式总结
  9. 2014025673《嵌入式系统程序设计》第三、四周学习总结
  10. mysql运用索引写出高效sql_从SQL Server到MySql(5) : 高性能的MySql 索引策略
  11. 穿越沙漠问题c语言算法,穿越沙漠问题---递推法
  12. 逻辑删除和物理删除的区别
  13. cadence virtuoso画版图提示LUP.6错误
  14. 流量卡之家:英国运营商推出5G无限流量套餐 每月约300元
  15. P4218 [CTSC2010]珠宝商
  16. 虚拟运营商出牌:流量不清零难成杀手锏
  17. Mac鼠标光标消失怎么办?苹果电脑鼠标指针不显示的解决方法
  18. 为什么iPhone 12 中国版不支持5G毫米波?
  19. android vivo 模拟器,逍遥安卓打造VIVO华为魅族OPPO小米联想手游安卓模拟器
  20. 名编辑电子杂志大师教程 | 打开文件

热门文章

  1. 【C++】多线程与互斥锁【二】
  2. ASP.NET中的事务处理和异常处理
  3. 使用eclipse创建Struts2项目
  4. C语言extern关键字定义外部变量--Redis源码extern使用
  5. TensorRT Samples: MNIST(serialize TensorRT model)
  6. C++11中std::addressof的使用
  7. 【C++】Google Protocol Buffer(protobuf)详解(二)
  8. 【AI】caffe使用步骤(一):将标注数据生成lmdb或leveldb
  9. 【linux】在CentOS7上更改端口号时报错:Job for sshd.service failed because the control process exited with error
  10. 【OpenCV】将图像数据由YUV格式转换成JPG格式直接使用,而不保存成文件