文档章节

log4j2异步日志模板

 冭子
发布于 11/09 17:54
字数 438
阅读 7
收藏 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/dataLogs/Logs/dwh.ERROR"
                                 filePattern="/data/dataLogs/Logs/dwh.ERROR.%d{yyyy-MM-dd}.log">
            <PatternLayout pattern="${layoutpattern}"/>
            <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingRandomAccessFile>

        <RollingRandomAccessFile name="Warn"
                                 fileName="/data/dataLogs/Logs/dwh.WARN"
                                 filePattern="/data/dataLogs/Logs/dwh.WARN.%d{yyyy-MM-dd}.log">
            <PatternLayout pattern="${layoutpattern}"/>
            <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingRandomAccessFile>

        <RollingRandomAccessFile name="Info"
                                 immediateFlush="false"
                                 append="true"
                                 fileName="/data/dataLogs/Logs/dwh.INFO"
                                 filePattern="/data/dataLogs/Logs/dwh.INFO.%d{yyyy-MM-dd}.log">
            <PatternLayout pattern="${layoutpattern}"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingRandomAccessFile>
    </Appenders>
    <Loggers>
        <!--记录 qg.fangrui.boot 包及其子包 debug 及其以上的记录,并输出到文件中-->
        <!--<Logger name="com.dlw.demo" level="info">
            &lt;!&ndash; AppenderRef 可以控制文件输出对象&ndash;&gt;
            <AppenderRef ref="File" />
        </Logger>
        <Logger name="com.dlw.demo" level="error">
            &lt;!&ndash; AppenderRef 可以控制文件输出对象&ndash;&gt;
            <AppenderRef ref="Error" />
        </Logger>-->
        <!--根记录全部输出到控制台上-->
        <!--<Root level="info">
            <AppenderRef ref="Console" />
        </Root>-->
        <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
码字总数 1622
作品 0
朝阳
私信 提问
Log4j2的性能为什么这么好?

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

小程故事多
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
使用log4j2的常用要点

日志配置 log4j2是使用配置文件,区别于log4j,配置项也有一些变化。以下是一个最常用的控制台输出日志的配置: 兼容其他日志组件 一般常用的日志组件log4j(1.2.x),common-log(jcl),self4j,全...

ccor
2016/11/28
112
0

没有更多内容

加载失败,请刷新页面

加载更多

Java 动态代理的实现

在Java中可以实现动态代理的方式有很多种:JDK方式、ASM字节码操控框架、开源的分析、编辑和创建Java字节码的类库Javassist、基于ASM框架实现的CGLIB JDK方式:通过Java反射的方式生成动态代...

我爱春天的毛毛雨
21分钟前
1
0
css 总结2

1、背景有关 (1)background-origin:border-box、padding-box、content-box //默认是padding-box(2)background-image: url(img_flwr.gif), url(paper.gif);(3)background-posi......

tianyawhl
22分钟前
1
0
java 每秒钟只允许十个线程同时并发

package com.qimh.thread.concurrent;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurren......

qimh
37分钟前
4
0
学习Hadoop大数据基础框架

什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的...

本宫没空2
38分钟前
2
0
redis

1,安装 sudo apt-get install redis-server 2,登录本地的 redis-cli 3,修改 .bashrc文件,连接其他线下数据库 vi .bashrc在最后增加alias redisa="redis-cli -h 10.15.100.134 -p 666...

鹏灬
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部