文档章节

log4j2异步日志模板

 冭子
发布于 2018/11/09 17:54
字数 385
阅读 11
收藏 0

该日志模板生成的日志如下:当天日志dwh.ERROR,dwh.INFO,dwh.WARN。往期的日志所示:.log文件

log4j2异步日志模板,可以直接使用,异步日志需要依赖disruptor 框架,需要添加maven如下配置:

<dependency>
    <groupId>com.lmax</groupId>
    <artifactId>disruptor</artifactId>
    <version>3.4.2</version>
</dependency>

log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- monitorInterval:指定log4j自动重新配置的监测间隔时间 -->
<Configuration status="INFO" monitorInterval="10">
    <Properties>
        <Property name="layoutpattern">%d %5p %30.30c{1.} : %m %ex%n</Property>
    </Properties>
    <Appenders>

        <Console name="STDOUT" target="SYSTEM_OUT">
            <PatternLayout pattern="${layoutpattern}"/>
        </Console>

        <RollingRandomAccessFile name="Error"
                                 fileName="/data/appLog/Logs/zkDemo.ERROR"
                                 filePattern="/data/appLog/Logs/zkDemo.ERROR.%d{yyyy-MM-dd}.log">
            <PatternLayout pattern="${layoutpattern}"/>
            <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
            <DefaultRolloverStrategy>
                <Delete basePath="/data/appLog/Logs/" maxDepth="1">
                    <IfFileName glob="zkDemo.ERROR.*.log" />
                    <IfLastModified age="10d" />
                </Delete>
            </DefaultRolloverStrategy>
        </RollingRandomAccessFile>

        <RollingRandomAccessFile name="Warn"
                                 fileName="/data/appLog/Logs/zkDemo.WARN"
                                 filePattern="/data/appLog/Logs/zkDemo.WARN.%d{yyyy-MM-dd}.log">
            <PatternLayout pattern="${layoutpattern}"/>
            <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
            <DefaultRolloverStrategy>
                <Delete basePath="/data/appLog/Logs/" maxDepth="1">
                    <IfFileName glob="zkDemo.WARN.*.log" />
                    <IfLastModified age="10d" />
                </Delete>
            </DefaultRolloverStrategy>
        </RollingRandomAccessFile>

        <RollingRandomAccessFile name="Info"
                                 immediateFlush="false"
                                 append="true"
                                 fileName="/data/appLog/Logs/zkDemo.INFO"
                                 filePattern="/data/appLog/Logs/zkDemo.INFO.%d{yyyy-MM-dd}.log">
            <PatternLayout pattern="${layoutpattern}"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
            <DefaultRolloverStrategy>
                <Delete basePath="/data/appLog/Logs/" maxDepth="1">
                    <IfFileName glob="zkDemo.INFO.*.log" />
                    <IfLastModified age="10d" />
                </Delete>
            </DefaultRolloverStrategy>
        </RollingRandomAccessFile>
    </Appenders>
    <Loggers>
        <asyncRoot level="INFO" additivity="false">
            <AppenderRef ref="Error"/>
            <AppenderRef ref="Warn"/>
            <AppenderRef ref="Info"/>
            <AppenderRef ref="STDOUT"/>
        </asyncRoot>
    </Loggers>
</Configuration>

 

最后附上springboot+zookeeper+slf4j+log4j2 的java demo, github: https://github.com/liweiDiao/zookeeperDemo
 

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 5
码字总数 1569
作品 0
朝阳
私信 提问
Log4j1升级Log4j2实战

这是在公司内部的一次升级实践,删除了很多隐私的内容,所以可能不是很完整。 1、背景 在任何系统中,日志都是非常重要的组成部分,它是反映系统运行情况的重要依据,也是排查问题时的必要线...

jason-moko
2017/04/10
0
0
Log4j2的性能为什么这么好?

原创:詹嵩 某公司架构部中间件架构师 校对:程超 某公司架构部中间件负责人 一、logback和log4j2压测比较 1、logback压测数据 logback压测数据,50个线程,500万条日志写入时间。 说明: 这...

小程故事多
2018/08/15
0
0
Apache Log4j 2.0-beta5 发布

Apache Log4j 2.0 的第 5 个 Beta 版本发布了,除了 bug 修复外,该版本还包含如下新特性: o LOG4J2-207: 支持 JMX o LOG4J2-187: 增加标签库 o LOG4J2-164: LogEvent 增加 is/setEndOfBat...

oschina
2013/04/26
1K
5
spring boot 1.5.4 整合log4j2(十一)

上一篇:spring boot 1.5.4 定时任务和异步调用(十) Spring Boot整合log4j2 spring boot整合log4j2项目spring-boot-jsp源码: spring-boot相关项目源码, 码云地址:https://git.oschina.n...

wyait
2017/09/29
0
0
Log4j2高级配置以及简单的示例

前言   Appender按网络释义,有“输出目的地”之意。官网给出的定义是:“Appenders are responsible for delivering LogEvents to their destination.”。Log4j2为使用者提供了13种非常实...

吕兵阳
2016/08/18
1K
6

没有更多内容

加载失败,请刷新页面

加载更多

操作数据库表

/* DML:数据库操作语言 主要对表中的数据库进行 增删改 ****增:插入一条记录 insert into 表名 (列名1,列名2..) values (值1,值2..) 注意: 1.列名可以在表中选择一列或者几列 2.后面的值 必须...

stars永恒
25分钟前
2
0
你真的了解 volatile 关键字吗?

volatile关键字经常在并发编程中使用,其特性是保证可见性以及有序性,但是关于volatile的使用仍然要小心,这需要明白volatile关键字的特性及实现的原理,这也是本篇文章的主要内容。 一、J...

Henrykin
25分钟前
1
0
条码插件TBarCode Office系列教程二(Word Add-In篇)

TBarCode Office是一款适用于Microsoft Word 2007、2010和2013的条码插件,通过此插件可以轻松的在您的文档中嵌入代码。此系列教程旨在介绍TBarCode Office的常见问题及解答,帮助大家学习使...

ymy_666666
26分钟前
1
0
折腾Java设计模式之命令模式

博客原文地址 折腾Java设计模式之命令模式 命令模式 wiki上的描述 Encapsulate a request as an object, thereby allowing for the parameterization of clients with different requests, ......

大萌小路
26分钟前
2
0
微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计

基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发、部署、运维管理、持续开发持续集成的流程。平台提供基础设施、中间件、数据服务、云服务器等资...

编程SHA
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部