如何通过配置log4j.xml来打印指定类或指定级别的日志信息

把指定类的日志信息输出到指定appender里:
============================================================
<!--appender中,Theshold和Filter都是可选。不过,建议这种目的下最好不要写,这样,什么信息会输出到该appender中,就只由指定logger的appender-ref的值来决定。否则会受到Theshold和Filter值的影响)。-->
<appender name="appender-3" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="${loggingRoot}/file.log"/>
    <param name="append" value="true"/>
    <param name="encoding" value="GBK"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%p [%d{HH:mm:ss}] %c{1}.%M(%L) - %m%n"/>
    </layout>
    </appender>
<logger name="com.a.b.c.d.e" additivity="false">
    <!--指定类的日志级别,会影响指定类日志发出信息的成功与否-->
    <level value = "debug" />
    <appender-ref ref="appender-3" />
</logger>
同样,在root元素里不要指定该appender,如下:
<root>
    <level value="warn"/>
    <appender-ref ref="appender-1"/>
    <appender-ref ref="appender-2"/>
</root>
这样的话,就杜绝了被其他logger继承的可能性。
此例中,如果在root里指定了该appender,则级别不低于warn的日志信息都会输出到appender-3中。



把各个级别的日志信息输出到各个的appender里,可使用过滤器,下面以info级别为例:
============================================================
<appender name="appender-info" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="${loggingRoot}/info.log"/>
    <param name="append" value="true"/>
    <param name="encoding" value="GBK"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%p [%d{HH:mm:ss}] %c{1}.%M(%L) - %m%n"/>
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
           <param name="LevelMin" value="INFO" />
           <param name="LevelMax" value="INFO" />
      </filter>
</appender>
appender-info只接受信息级别为info的日志信息。



再说说关于root的一些情况:
============================================================
root元素定义的一些信息只供作默认情况和继承用。
只要后面的logger或appender,稍作显式声明,这些信息都会被覆盖。
以下面为例:
<root>
    <level value="warn"/>
    <appender-ref ref="appender-1"/>
    <appender-ref ref="appender-2"/>
</root>
默认情况是:
1. 输出器appender-1和appender-2只接受不低于warn级别的日志信息,不过一旦指定了Theshold或Filter,就以指定的为准。
2. 日志记录器logger的输出器appender,默认会输出到appender-1和appender-2中,若指定了<appender-ref value="appender-3" />,则日志信息会输出到这三个,要停止这种继承关系,可添加additivity=false。


log4j简明手册中的要点。
  
.1 Named Hierarchy
如果一个logger 的名字后面跟着一个点号(dot),它就是点号(dot)后面的那个logger的前辈( ancestor),是这个晚辈(descendant) 的前缀。如果在它自己和这个晚辈之间没有其它的前辈,它和这个晚辈之间就是父子关系。

.2 Level Inheritance
对于一个给定的logger C,它继承的级别等于logger阶层里,从C开始往root logger上去的第一个non-null级别。

.3 Basic Selection Rule
在一个级别为q(被指定的或继承的)的logger里,一个级别为p的日志请求,只有在p >= q 时才能够被执行。

.4 Appender Additivity
Logger C的log输出信息将被输出到C的所有appenders和它的前辈的 appenders。这就是"appender additivity"的意思。
但是,如果logger C的前辈,比如说P,P的additivity flag被设置为 false,那么,C的输出信息将被输出到C的所有appenders中去,以及它的前辈的——截 止在P那里,包括P在内的,appenders中去,但是不会输出到P的前辈的 appenders中去。

默认情况下,Loggers的additivity flag设置为true。

log4j简明手册:http://log4j.jaxmao.org/log4j/docs/manual.html

初次实施log4j,做了些小总结,期待交流哈。

Log4j 配置某个类中某个方法的输出日志到指定文件 最近刚好碰见项目需要额外针对接口打印一个额外的日志文件,网上找了好多发行大部分都是针对log4j2的。还有好多没有效果的,然后整理一下,记录一下。 阅读详情

相关推荐

log4j指定类的日志输出到指定文件夹中

- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档 -->--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->业务需求需要将登录、登出、办理开始到结束流程的日志以特定的json格式,输出到对应的日志文件中,并且定期更新日志。--interval属性用来指定多久滚动一次,默认是1 hour -->-- 定义日志存储的路径 -->

qq_33528094的博客 2671

Log4j自定义Appender输出日志内容

一、Log4j知识了解 在自定义Appende之前,我们先来简单了解下Log4j 1、Log4j是什么 Log4j是由Apache提供的日志操作包,用于帮助用户处理日志信息。 2、log4j的作用 log4j提供了方法使我们能将日志信息分级存储。其次,log4j提供了日志不同的存储方式,我们可以将日志发送到控制台,或者文件,或者数据库中等等。 3、Log4j三大组件 Logger:日志写出器,负责供客户端代码调用,用于输入日志信息。Log4j 允许开发人员定义多个Logger,每个Logger

bird_tp的博客 5002

log4j.properties配置文件、logback-spring.xml配置文件以及log4j升级到log4j2

文章目录一、log4j.properties配置文件详解1.配置rootLogger2.配置日志信息输出目的地AppenderAppender的配置方式Appender的配置详解3.配置日志信息的格式(布局)4.log4j.properties配置文件示例二、log4j.properties 文件与Spring整合1.logback-spring.xml配置文件2.同步日志到mysql数据库pom依赖logback-spring.xml配置文件mysql建表效果重写DBAppender类为MyDBAppen

DreamsArchitects的博客 3107

log4j指定包或类打到单独的日志文件的配置

    根据日志定位问题的时候,如果所有的日志都打到一个日志文件里,查问题就很不直观了。    一、指定某个路径的包或类打到单独的日志文件    log4j.xml 配置如下: &lt;appender name="poll" class="org.apache.log4j.DailyRollingFileAppender"&gt; &lt;param name="encoding" valu...

bruce128的专栏 1万+

Log4j2 日志分级别输出到不同文件

Log4j2 日志按级别输出到不同文件 在生产环境中,可以按日志信息级别,输出到不同的文件中,如生成 info.log,warn.log,error.log 等; 这样的功能可以通过在 log42.xml 中配置Filter来实现; 一个示例的实现如下:  log4j2.xml  1 Configuration

Al_assad的博客 7888

从零配置华为S5720交换机VLAN:Web界面与命令行双模式详解(附拓扑图)

本文详细解析华为S5720交换机VLAN配置的全过程,涵盖Web界面与命令行(CLI)双模式操作指南。从基础环境准备到多交换机环境配置同步,特别针对S5720-52X系列交换机的VLANif接口、端口分配策略及交换机堆叠技术进行深入讲解,并附实用拓扑图与配置示例,助力企业网络管理员高效完成VLAN部署。

happy2的博客 1367

如何在java程序的Maven项目中使用Log4j输出日志文件并保存在指定文件中

<Log4j实战与理论>通过图文讲解.一步一步的说明了.如何在Java程序的Maven项目中使用Log4j输出日志文件,并且将日志文件保存在本地文件夹中.

艺博❀ 3765

Zabbix7.0实践:专线线路监控场景1

本文介绍了专线互联线路远程Ping监控的实现方案。针对运营商中间设备导致端口状态无法真实反映线路通断的问题,提出通过脚本执行端到端Ping检测的方案。具体实现包括:1)使用Expect脚本登录设备执行Ping测试并格式化结果;2)通过Shell脚本处理线路信息并生成JSON格式数据;3)配置Zabbix监控系统,创建自动发现规则和监控项原型,实现线路状态的自动监控。该方案适用于专线数量不多但重要的场景,能够有效检测中间有运营商设备的专线线路通断状态,最终在Zabbix中实现可视化的告警展示。

2301_80016499的博客 779

log4j2的一些配置,为某个类某个方法单独文件打印日志,定时删除日志和springboot的logback日志单独类打印

log4j2.xml配置如下: <?xml version="1.0" encoding="UTF-8"?> <!-- status="OFF",可以去掉,它的含义为是否记录log4j2本身的event信息,默认是OFF --> <configuration status="OFF"> <!-- 定义下面的引用名 --> <...

tiger_Angle 4843

Windows 10 下 DockerToolbox 安装全攻略:从下载到配置阿里云镜像加速

本文详细介绍了在Windows 10系统上安装和配置DockerToolbox的完整流程。从下载安装包、执行初步安装,到关键步骤——修改虚拟机存储路径以及配置阿里云镜像加速器,旨在帮助开发者,尤其是初次接触Docker的新手,快速搭建高效的本地容器开发环境,并解决国内镜像下载缓慢的痛点。

moon9的博客 474

ArcGIS插值可视化气象数据

前言 地图底图的制作和气象数据的预处理见我上两篇博客 ArcGIS精美中国地图制作(详解) python处理日值气象数据 在前面我们已经将日值的地温数据处理成了年均地温,添加了站点经纬度坐标并导出为excel格式。 得到如下数据: 导入数据 在Arcmap中 文件-添加XY数据 将年均地温和站点位置数据导入。 注意:excel表格的格式要另存为97-2003工作簿形式,否则会有"arcgi...

江北20190411的博客 2万+

log4j2.xml配置详解

log4j2.xml配置详解,包括日志等级、日志输出格式、节点配置详情等

LOOPY_Y的博客 1万+

基于毫米波生物感知雷达+STM32设计的独居老人居家监护系统(微信小程序)(192)

当前基于STM32设计的独居老人居家监护系统为独居老人提供一种简便、实时的健康监护服务。该系统通过集成多种传感器和功能模块,能够实时监测老人的生理指标、姿态以及室内环境状况,并通过微信小程序远程显示数据,当出现异常情况时及时发出报警提醒。

1万+

Log4j日志配置详解

1、log4j日志简介Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的级别分为四级,优先级从高到低有DEBUG、INFO、WARN、ERROR,用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;日志信息的输出格式则控制了日志信息的显示内容注意:Log4j日志级别是定义在org.apache.log4j.Le...

yanweihpu的博客 2万+

训练YOLOv11 | Pytorch和Pycharm的安装教程适用W11系统(附详细的系统变量添加过程)

根据你之前下载的版本选择对应的选项即可,然后复制底下的绿色代码到Anaconda的命令行输入即可(这里要在你安装的python环境里进行安装,例如我的环境名字是PyTorch,那么就是activate PyTorch里进行安装)然后同之前一样会加载一会,然后会询问我们是否下载配件,我们输入Y等待即可(下载过程中我们要确保网络通常如果有波动可能会下载失败)。类似于我的电脑是Windows11选择上面红框内的选项即可点击后即下载,(注意这里下载的是zip文件)下载完成后复制下面几个文件。

Snu77的博客 1万+

手把手教你学 NPU 驱动开发--第一部分:基础准备 开发环境搭建:Linux 内核编译与 NPU 仿真平台配置

摘要:本文详细介绍了搭建Linux内核编译与NPU仿真平台的完整流程。主要内容包括:1) 准备ARM64交叉编译工具链;2) 编译支持KGDB调试的Linux内核;3) 构建最小根文件系统;4) 使用QEMU模拟自定义NPU设备;5) 配置KGDB调试环境。文章重点讲解了如何通过修改设备树添加虚拟NPU设备,并提供了开源NPUIP Gemmini作为实验对象。最后展示了简单的"Hello NPU"驱动验证方法,为后续NPU驱动开发奠定了基础。文中还附有常用命令速查表,方便开发者快速搭建调

MHD0815的博客 382

log4j的日志级别以及相关配置详解

log4j的日志级别以及相关配置

vili_sky的博客 3966

广义正态分布优化算法(GNDO)详解:从理论到实践

广义正态分布优化算法(GNDO)是一种基于正态分布理论的新型元启发式优化算法。该算法通过局部开发和全局探索两种策略平衡搜索过程:局部开发利用广义平均位置和标准差进行精细搜索,而全局探索通过随机个体信息共享扩大搜索范围。GNDO具有参数少、结构简单、收敛速度快等优点,在光伏模型参数提取等工程优化问题中表现优异。算法将种群位置更新与正态分布参数调整相联系,通过自适应机制平衡探索与开发,数学分析表明其具有全局收敛性。相比传统优化算法,GNDO在探索能力和开发能力上均有优势,是高维复杂优化问题的有效解决方案。

qq_42212808的博客 136

log4j2配置日志

Apache Log4j 2是日志框架Log4j的升级,它比其前身Log4j 1.x提供了重要的改进,并且参考了Logback中许多有用的改进,同时修复了Logback的一些固有问题。本文事例中configuration下有三个节点properties:配置文件中用到的参数设定、被下面的appenders、loggers配置项引用appenders:日志的输出源:设置日志输出目的地,内容和格式等。loggers:日志的输入源:设置日志级别和使用的Appenders。</</

qq_40419080的博客 2719

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java中log4j日志级别及配置文件详解, log4j组成, log4j日志级别有哪些, log4jproperties配置文件详解 01

1. Log4j的日志输出级别及配置文件详解 1.1 Log4j的组件构成 Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。 日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度; 日志信息的输出目的地指定了日志将打印到控制台还是文件中; 而输出格式则控制了日志信息的显示内容。 1.2 日志级别有...

啊策策大数据社区 2363

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

最清晰的log4j.properties日志配置讲解

一、 Log4j简介 Log4j有三个主要的组件: Loggers(记录器):日志类别和级别; Appenders (输出源):日志要输出的地方; Layouts(布局):日志以何种形式输出 1.1 Loggers Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度,明白这一点很重要, Log4j有

无极低码 6120

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Log4J日志配置与Java中Log4J的使用详解

文章目录Log4j简介Loggers介绍Appenders介绍Layouts介绍配置详解配置根Logger:配置日志信息输出目的地(appender):配置日志信息的输出格式(Layout):示例简单的Log4j配置文件:在Java中应用Log4j比较全面的Log4j的配置 Log4j简介   Log4j有三个主要的组件:Loggers(日志记录器),Appenders (日志的输出源)和Layo...

江湖人称小程的博客 4435

简单的springboot log4j2日志配置

简单的日志log4j2配置学习

qq_19342829的博客 2874
上一篇: CentOS安装Memcached
下一篇: java log4j.xml配置与使用
java_doom
博客等级 码龄20年 6粉丝 199原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值