【Log4j】分包,分等级记录日志信息

在开发中我们经常会将不同包下的日志信息在不同的地方输出,以便于以后出问题能够直接在对应的文件中找到对应的信息!

例如:在spring+SpringMVC+mybatis的框架中,我们经常会将spring的日志输出在一个文件中,将mybatis中的信息输出在另一个文件中,这样debug时能够清晰准确的进行定位!

先普及一下Log4j的基础只是,log4j的日志等级大致可以分为4个等级

从小到大是

debug<info<warn<error

常用中用这四个即可

在log4j中大致可以分为3个模块

1,logger 负责日志记录的绝大多数工作,负责记录该记录的信息

2,appender 负责确定将信息输出到哪里

3,layout 负责确定日志信息以什么格式进行输出

这三个中后两个相对来说比较简单,只要找到对应的格式照抄即可!

最难的是logger

因为在Log4j中有日志等级划分以及继承关系

等级:

如果你指定一个记录器的记录等级为info,则该记录器会记录所有大于等于info的信息,

也就是说记录器只会记录日志等级大于等于记录器等级的日志信息

继承关系:1,如果当前记录器没有指定记录等级,那么它会自动继承上面离它最近的一个有等级的记录器的等级;

例如

记录器名称               等级

  AA        ERROR

  BB        无

当初始化的时候BB的等级自动变为ERROR

如果往上查找没有找到有等级的记录器,那它会以根节点的等级为准2,名称继承

如果一个记录器的名字加上一个点等于另一个记录器的名字的前缀,前门我们将前者称之为后者的父类

也就是说

com记录器是  com.accp记录器的父类

那在记录日志的时候,若没有特殊声明com.accp所记录的信息也会被com以及com的父类所记录(前提是符合等级要求)

实在是太困了 明天再继续写!

时间: 2024-08-24 07:30:51

【Log4j】分包,分等级记录日志信息的相关文章

log4j分等级记录日志配置示例

# Set root logger level to WARN and append to stdout log4j.rootLogger=debug, stdout, error log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # Pattern to output the caller's file name a

log4j的多logger记录日志的简明使用

日志,应该是一个应用软件的基础功能之一.使用java语言,必然会使用一个日志库,我使用的是log4j的日志库.网上不少文章都有介绍,但是结合logger的不同功能介绍以及示例介绍的清楚的不多,至少我也是翻了不少网页,然后根据实验才得出这些功能. 我觉得log4j中主要有2个概念:logger.appender. logger是日志组件的主要概念,用于指定不同的包使用不同的日志级别,或者指定一个logger组件,以便在使用的时候可以使用getLogger(组件名)的方式获取该logger的定义.l

Oracle中pls_logger记录日志信息

/* 参数说明: pi_program_name 程序名称 pi_directory 写入日志文件所在的目录 pi_file 日志文件名称,必须存在 pi_log_level 日记级别,INFO.WARN.FATAL pi_write_to 写到哪里,SCREEN.FILE.TABLE.ALL pi_error_message 写入到日志的错误信息 pi_status 输出参数 1失败 0成功 */ BEGIN pls_logger ( pi_program_name => 'SCREEN_PR

下面我就发布一下国内手表排行榜(不分等级

下面我就发布一下国内手表排行榜(不分等级,随机排行) 1.海鸥手表  天津海鸥(SEA-GULL)作为国内老牌国企,是中国第一个自行设计和制造手表的品牌,也是全国最大的机械表芯制造商. 2.罗西尼表  凭借个性化的设计.精良的品质.卓越的性能,在国内享有极高的声誉,在2002年罗西尼表被中国名牌战略推进委员会评为"中国名牌"产品. 3.依波表  依波精品(深圳)有限公司,原名光大依波钟表(深圳)有限公司,成立于1991年. 4.飞亚达手表 诞生于中国改革开放的沃土---深圳经济特区.&

C语言:类似linux内核的分等级DEBUG宏(打印宏)

总结几种log打印printf函数的宏定义 http://blog.chinaunix.net/uid-20564848-id-73402.html #include <stdio.h> #define lU_DEBUG_PREFIX "##########" #define LU_DEBUG_CMD 0x01 #define LU_DEBUG_DATA 0x02 #define LU_DEBUG_ERROR 0x04 #define LU_PRINTF_cmd(msg..

log4j的日志等级

1.logger.debug("Debug...")或logger.info("Info...")或 logger.warn("Warn ...")或logger.error("Error ...") 都只输出对应的信息,即logger.debug只输出debug的信息,info只输出info的信息. 而log4j.properties中配置"log4j.rootLogger=dubug, console, logf

PMP认证分等级吗?

PMP认证不分等级,通过PMP即代表你已经掌握了单个项目全过程系统操作的流程和方法! PMP是项目管理专业人士的简称,学习的就是单个项目的操作方法,由于项目管理各行各业都在用,因此PMP是不分科类的! 学习PMP最多的是IT.电子.通信的行业,其次是航天.汽车.工程.建筑.制造业.石油化工等等!相对来说外企和规模大的企业更加重视PMP,因为毕竟企业的体系越健全PMP价值越高,用起来越顺! 各行各业都是通用的,所以考PMP的人很多,但是也有一定的通过率,一般通过率在90%以上. 认真学习,都可以通

.NET日志模型详解(1):记录日志信息

记录各种级别的日志是所有应用不可或缺的功能.关于日志记录的实现,我们有太多第三方框架可供选择,比如Log4Net.NLog.Loggr和Serilog 等,当然我们还可以选择微软原生的诊断机制(相关API定义在命名空间"System.Diagnostics"中)实现对日志的记录..NET Core提供了独立的日志模型使我们可以采用统一的API来完成针对日志记录的编程,我们同时也可以利用其扩展点对这个模型进行定制,比如可以将上述这些成熟的日志框架整合到我们的应用中.本系列文章旨在从设计和

Spring学习总结(13)——Spring+Log4j+ActiveMQ实现远程记录日志

应用场景 随着项目的逐渐扩大,日志的增加也变得更快.Log4j是常用的日志记录工具,在有些时候,我们可能需要将Log4j的日志发送到专门用于记录日志的远程服务器,特别是对于稍微大一点的应用.这么做的优点有: 可以集中管理日志 :可以把多台服务器上的日志都发送到一台日志服务器上,方便管理.查看和分析 可以减轻服务器的开销 :日志不在服务器上了,因此服务器有更多可用的磁盘空间 可以提高服务器的性能 :通过异步方式,记录日志时服务器只负责发送消息,不关心日志记录的时间和位置,服务器甚至不关心日志到底有