log4j日志记录级别是如何工作?
2024-10-18 23:32:31
级别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
最新文章
- Angular过滤器
- some code of c
- SNF开发平台WinForm之三-开发-单表选择控件创建-SNF快速开发平台3.3-Spring.Net.Framework
- [Everyday Mathematics]20150221
- 【LeetCode】27 - Remove Element
- sublimeformaya
- python of zip moudle
- xend调用xenstore的出错揭秘
- Node.js v0.10.31API手冊-控制台
- SharePoint 服务器端对象迁移文件夹
- web中转发、重定向等问题的路径
- Server Tomcat v7.0 Server at localhost failed to start.解决方法
- C# 中?和??的用法
- 部署 Helm - 每天5分钟玩转 Docker 容器技术(162)
- 设计模式—模板方法的C++实现
- 在SQL Server 2018 Management Studio中修改表字段顺序
- 数据结构入门之链表(C语言实现)
- react入门-props.children
- redis系列之数据库与缓存数据一致性解决方案
- linux kernel swap daemon
热门文章
- Linux OpenGL 实践篇-3 绘制三角形
- [LeetCode] Max Consecutive Ones II 最大连续1的个数之二
- 将 Net 项目升级 Core项目经验:(二)修复迁移后Net Standard项目中的错误
- 迎圣诞,拿大奖活动赛题_SQLi(sprintf格式化字符)
- “百度杯”CTF比赛 2017 二月场_onthink
- [HNOI2012]集合选数
- codefroces 612E Square Root of Permutation
- bzoj 1488: [HNOI2009]图的同构
- hdu 5014(贪+位运算)
- SpringBoot学习之mvc