log4j2入门(2)-日志多appender输出

Log4j配置属性详解、滚动日志配置,以及多种Appender输出配置示例 Log4j配置属性详解,以及滚动日志配置,以及多种Appdender输出配置示例 阅读详情

log4j2入门(2)-日志多appender输出

实现的需求

想要实现三点:
1.日志要输出到控制台显示
2.同时将日志按照文件大小进行备份和归档
3.将日志中的错误信息以单独的文件输出
这样方便查看错误日志,排查信息

创建log4j2.xml配置

多源输出,就是配置多种appender。log4j会将日志的事件发送给多个appender进行打印

对于特殊的需求如将错误信息以单独文件的输出,可以定义日志过滤器Filter

appender创建

控制台appernder
输出所有级别的日志

<!--控制台打印日志:这个输出控制台的配置-->
<Console name="Console" target="SYSTEM_OUT">
    <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
    <ThresholdFilter level="trace" onMatch="ACCEPT"
        onMismatch="DENY" />
    <!--这个都知道是输出日志的格式 -->
    <PatternLayout
        pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />
</Console>

临时日志文件appender
也是输出所有的日志,但是每次启动将清空并更新内容

<!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用 -->
<File name="log" fileName="log/test.log" append="false">
    <PatternLayout
        pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />
</File>

日志文件appender
用来压缩归档,按照文件滚动的形式存储

<!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档 -->
<RollingFile name="RollingFile" fileName="logs/app.log"
    filePattern="log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
    <PatternLayout
        pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" />
    <SizeBasedTriggeringPolicy size="50MB" />
</RollingFile>

错误日志独立输出文件appender

<!-- 专门输出错误日志的文件 ,过滤的级别是error及以上 -->
<File name="ERROR" fileName="logs/error.log">
    <ThresholdFilter level="error" onMatch="ACCEPT"
        onMismatch="DENY" />
    <PatternLayout
        pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n" />
</File>

定义Logger

这里定义的是root级别的,这样所有的logger将继承此日志的输出配置

<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效 -->
<loggers>
    <!--建立一个默认的root的logger -->
    <root level="trace">
        <appender-ref ref="RollingFile" />
        <appender-ref ref="Console" />
        <appender-ref ref="ERROR" />
    </root>
</loggers>

输出显示效果

Alt text

app.log将存储所有的日志信息
error.log存储的将是error和fatal的日志信息

github代码地址:https://github.com/fizzme/log4j2-start2

Log4j2 自定义 Appender 阅读详情

相关推荐

log4j2自定义Appender(输出到文件/RPC服务中)

1、背景虽然log4j很强大,可以将日志输出到文件、DB、ES等。但是有时候确难免完全适合自己,此时我们就需要自定义Appender,使日志输出到指定的位置上。本文,将通过两个例子说明自定义APPender,一个是将日志写入文件中,另一个是将日志发送到远程Thrift服务中。本文代码详见:https://github.com/hawkingfoo/log-demo2、自定义文件Appender2.1

唐影若凡的专栏 2872

Log4j2的Appenders配置详解

Appenders是输出源,用于定义日志输出的地方。 log4j2支持的输出源有很多,有控制台ConsoleAppender、文件FileAppender、AsyncAppender、RandomAccessFileAppender、RollingFileAppender、RollingRandomAccessFile 等 文章目录ConsoleAppenderAsyncAppenderFileA...

ThinkWon的博客 1万+

基于gm/id方法的折叠式共源共栅放大器设计实践

本文详细介绍了基于gm/id设计方法进行折叠式共源共栅放大器设计的完整流程。该方法通过确定晶体管的跨导效率(gm/id)作为核心设计参数,将复杂的放大器设计转化为有明确路径的优化问题。文章以设计一个增益80dB、带宽1GHz的两级放大器为例,逐步拆解了从指标分解、关键晶体管工作点选取、到实战仿真与微调的全过程,特别强调了第二级设计对稳定性的影响以及相位裕度的调试技巧。

w8x9y0z1的博客 411

log4j2中的自定义Appender详解

log4j官网提供了很多Appender组件,但是当那些组键不满足日志收集的时候,我们需要自己定义Appender 定点Appender需要处理好两个地方的问题 1.需要在代码中写一个自定义Appender 2.修改log4j.xml文件中的Appenders下面引用的Appender为自定义appender 首先是代码实现主要是继承AbstractAppender这个抽象类,重写append()方法 append方法是我们进行接收日志的方法 createAppender 这个方法可以用来接收页面的传参数

li646495946的博客 8226

百度慧眼人口位置数据:从原理到实战的GIS处理全流程

本文详细解析百度慧眼人口位置数据的处理全流程,从基本原理到实战应用。通过空间网格划分、终端数量统计等技术手段,百度慧眼数据能准确反映人群分布特征。文章涵盖坐标系转换、核密度分析、热力图制作等GIS处理技巧,并分享商业选址、城市规划等典型业务场景的解决方案,帮助读者高效利用这一数据资源。

weixin_30872157的博客 523

单相变换器的二次纹波分析

1. 单相PWM整流器的二次纹波产生原因   单相变换器的二次纹波产生的原因是功率含有二次脉动分量。设电网电压 us=Vmsin(wt),电网电流IL=Imsin(wt−θ)I_L=I_msin(wt-\theta)IL​=Im​sin(wt−θ)。其中w是电网电压披绿,θ\thetaθ是电流之后电压相位。保证输入功率和输出功率相等,就要保证两者的直流量和交流量对应相等。   uDu_DuD​为 PWM 整流器直流电容电压平均值,IoI_oIo​ 为负载电流平均值 ,uDC^\widehat {u_{DC}

qq_38847810的博客 4967

log4j2常用Appender介绍

Log4j2的Appenders充分考虑了日志事件的输出、包装以及过滤转发的可能,包括最基本的输出到本地文件、输出到远程主机,对文件进行封装、注入,并且还能按照日志文件的时间点、文件大小等条件进行自动封存。例如,想要将几个不同源的日志汇集到一起,可以用FlumeAppender;想要在LogEvent中注入信息,可以用RewriteAppender;想要让系统按照设定的时间间隔自动封存日志信息,可以用RollingFileAppender(每隔一定时间自动保存一份新增的日志文件,并按照时间戳等指定格式命名)

海瑞@mt 1万+

13、网络通信中的字节序与内存测试

本文主要探讨了网络通信中的字节序问题以及嵌入式系统中内存测试的相关内容。在网络通信部分,重点分析了大端序和小端序的差异,以及TCP/IP协议中字节序的转换机制,并介绍了相关的宏定义和实现方法。在内存测试部分,详细阐述了内存测试的目的、常见问题以及具体的测试策略,包括数据总线测试、地址总线测试和设备测试。通过这些内容,嵌入式程序员可以更好地理解并解决实际开发中可能遇到的字节序和内存问题,从而提高系统的稳定性和可靠性。

mmm90的博客 109

Log4j2之Appenders

前言   Appender按网络释义,有“输出目的地”之意。官网给出的定义是:“Appenders are responsible for delivering LogEvents to their destination.”。Log4j2为使用者提供了13种非常实用的Appenders,使用者可用方便的调用这13种Appender来控制日志的输出。 摘要   Log4j2的App...

a512977208的博客 821

如何对正射影像DOM(卫星影像、无人机航拍影像)进行拼接、合并以及去黑边(附 Global Mapper Pro 24.0 安装包(中文注册版))

为什么要对正射影像DOM进行拼接?影像去黑边、影像拼接的操作和步骤。

从地图看世界的专栏 4293

交换机背板带宽、交换容量与包转发率到底是啥?

在网络工程中,交换机是核心设备之一,而关于它的性能指标,背板带宽、交换容量、以及包转发率往往成为人们衡量其性能的重要参数。这些术语的定义、关系、以及在实际场景中的应用,都对交换机的选型与部署有着重要意义。本文将为您全面解读这些概念,帮助您深入了解交换机的核心性能指标。

网络技术联盟站 1542

log4j2的Appender基础介绍

功能:接受对其他 Appender 的引用,并在单独的线程上异步地将日志事件写入这些 Appender。注意,在写入这些 Appender 时发生的异常将对应用程序隐藏。配置参数:要异步调用的 Appender 的名称,可以配置多个。blocking:如果为true,当队列已满时,Appender 将等待直到有空闲位置。如果为false,当队列已满时,事件将被写入错误 Appender(如果配置了)。默认是true。

Java程序员的知识博客 1886

Linux V3H 平台开发系列讲解(摄像头)2.3.1 MAX96912 MAX96717 GMSL1 CSI 2lane配置

​ 单路摄像头,数据流类型YUV422, mipi接口,经过MAX96717 串行器,gmsl1链路 到解串器MAX96712,最后mipi csi 2lane(lane0 lane1)输出到 renesa v3h soc开发板; ​

xian18809311584的博客 570

Log4j自定义Appender输出日志内容

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

bird_tp的博客 5000

YOLO26训练自己的数据集,从代码下载到实例测试 (含YOLO26网络结构图)

在Windows10上配置CUDA环境教程2026年1月14日,YOLO26是最新发布的计算机视觉模型。支持多种任务,包括目标检测、实例分割、图像分类、姿态估计、有向目标检测以及物体跟踪等。以上就是YOLO26训练自己数据集的全部过程啦,欢迎大家在评论区交流~

Limiiiing的博客 6324

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

分布式日志治理:Log4j2自定义Appender写日志到RocketMQ

在云原生与微服务架构大行其道的今天,日志管理已从简单的本地文件存储演化为支撑系统可观测性的核心支柱。传统日志处理方式在面对日均TB级的日志量、跨地域服务调用链追踪、实时异常检测等场景时,往往陷入存储碎片化、检索效率低下、处理延迟高的困境。尤其在金融交易、物联网、在线教育等高并发领域,日志数据不仅是问题排查的"黑匣子",更是业务洞察的"数据金矿",亟需一种能够兼顾实时性、可靠性和可扩展性的新型日志处理方案。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 2890

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【log4j2】将info和error级别的日志分别输出到不同的appender中

目的:将我的应用输出的info消息放到一个info.log文件,将所有error消息输出到logs.log文件。 需要注意的是,info消息是限制在我自己的应用下的,也就是其他框架输出的info不保存。 <?xml version="1.0" encoding="UTF-8"?> <Configuration> <Properties> ...

kanbe_kotori的专栏 3333

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

log4j2配置日志

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

qq_40419080的博客 2718

Log4j扩展使用--输出地Appender

OK,现在我们来研究输出低Appended。 Appender控制日志输出的位置 Log4j日志系统允许把日志输出到不同的地方,如控制台(Console)、文件(Files)、根据天数或者文件大小产生新的文件、以流的形式发送到其它地方等等。 Log4j内置了常用的输出地,一般情况下配置一下即可使用,所有的Appender都实现了自org.apache.log4j.Appender

LinkinPark的博客 1万+

Log4j appender输出类型配置

原作者的地址http://www.cnblogs.com/wqsbk/p/6817886.html Log4j官方的appender给出了一下几种实现 org.apache.log4j.ConsoleAppender(控制台), org.apache.log4j.FileAppender(文件), org.apache.log4j.DailyRollingFil...

yz18931904的博客 7215

LOG4J2指定不同类型的日志输出到不同的文件

在项目中,可能会产生非常多的日志记录,为了方便日志分析,一般可以将日志按级别输出到指定文件,本次就先说说log4j2的实现吧。 我们配置的Appender默认情况下是可以输出任何类型的日志的,只要某个Logger引用了Appender,那么这个Logger中输出的任何日志信息都能输出到该Appender中,当前了Logger中是可以设置日志级别的,高于设置的级别才能输出,但是也不能达到我们想要的...

P19777的博客 5247

log4j2 自定义日志输出文件

目的 最近用到一个项目,需要在一个类中,将日志区分打印到不同的日志文件中 比如同一个地方打印两条日志“receive message from port[123]”,"receive message from port[456]" 这两条日志的内容一样的,只不过里面的参数port不一样。 工程实现 在这里,我们使用gradle工程来实现,总体目录如下 工程的gradle.build...

a_c_c_a的专栏 5363

Log4j2、Log4j、Logback自定义Appender实现

Log4j2、Log4j、Logback自定义Appender实现

u014263388的专栏 2512

Log4j2 自定义appender

Log4j 2介绍: Log4j 2是Java的流行日志记录程序包,几乎每个大型应用程序都包含其自己的日志记录或跟踪API,将日志语句插入代码是调试它的低技术方法。这也可能是唯一的方法,因为调试器并不总是可用或不适用。对于多线程应用程序和整个分布式应用程序通常是这种情况。 经验表明,日志记录是开发周期的重要组成部分。它具有几个优点。它提供有关应用程序运行的精确上下文。一旦插入到代码中,就无需人工干预即可生成日志输出。此外,日志输出可以保存在永久性介质中,以便以后进行研究。除了在开发周...

宇哥996的博客 2778

自定义Appender ,实现输出log4j日志到GUI

 ComponentAppender .javapackage log4gui.log4j;import java.awt.*;import java.util.Hashtable;import javax.swing.*;import javax.swing.text.*;import org.apache.log4j.*;import org.apache.log4j.spi.Logg

dongle2001的专栏 4910

log4j2 日志打两遍的问题

log4j2 日志打两遍的问题 在使用log4j2的时候,一般都需要不同的日志分类打印不同的日志等级,如下面的配置 <!-- 用于指定log4j自动重新配置的监测间隔时间,单位是秒 --> <configuration debug="off" monitorInterval="10"> <Properties> <Property ...

王广帅--游戏开发-服务器开发 5055
上一篇: Log4j2入门(1)-控制台日志输出
fizzblock
博客等级 码龄9年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值