Log4J2 PatternLayout 参考

日志样例 :

2018-10-21 07:30:05,184 INFO  - DeviceChannelServiceImpl.java:434[defaultEventExecutorGroup-2-24] - batchGet time:0
2018-10-21 07:30:05,191 ERROR - LechangeImplBussiness.java:96[defaultEventExecutorGroup-2-24] - ability error, did=4E01748YAG4A2AA, ability in channel=1, ability in device=

log4j2.xml 样例:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info">
<!--先定义所有的appender-->
<Appenders>
<!--这个输出控制台的配置-->
<Console name="Console" target="SYSTEM_OUT">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
<!--这个都知道是输出日志的格式-->
<!--<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>-->
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %F:%L - %m%n"/>
</Console>
<!-- 异常信息打印-->
<RollingRandomAccessFile name="Error" fileName="logs/error.log" filePattern="./logs/error.log.%i">
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %F:%L[%t] - %m%n"/>
<SizeBasedTriggeringPolicy size="200MB"/>
<DefaultRolloverStrategy max="20" />
</RollingRandomAccessFile> <!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
<!-- <RollingRandomAccessFile name="RollingFile" fileName="./logs/ads.log" filePattern="./logs/$${date:yyyy-MM}/ads-%d{MM-dd-yyyy}-%i.log.gz">-->
<RollingRandomAccessFile name="RollingFile" fileName="./logs/server.log" filePattern="./logs/server.log.%i">
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %F:%L[%t] - %m%n"/>
<SizeBasedTriggeringPolicy size="200MB"/>
<DefaultRolloverStrategy max="20" />
</RollingRandomAccessFile>
</Appenders>
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
<Loggers>
<Logger name="org.springframework" level="info" additivity="false">
<AppenderRef ref="Console"/>
<AppenderRef ref="RollingFile"/>
</Logger>
<Logger name="com.dahua" level="info" additivity="false">
<AppenderRef ref="Console"/>
<AppenderRef ref="RollingFile"/>
</Logger> <!--建立一个默认的root的logger-->
<root level="info">
<appender-ref ref="RollingFile"/>
<appender-ref ref="Error" />
<appender-ref ref="Console"/>
</root>
</Loggers>
</Configuration>

  

Log4J2的 PatternLayout的更多相关文章

  1. Log4j2进阶使用(Pattern Layout详细设置)

    1.进阶说明 通过配置Layout打印格式化的日志, Log4j2支持很多的Layouts: CSV GELF HTML JSON Pattern Serialized Syslog XML YAML ...

  2. log4j2笔记 #03# PatternLayout

    该类的目标是格式化LogEvent并返回(字符串)结果.结果的格式取决于具体的模式字符串(pattern string).这里的模式字符串与c语言中printf函数的转换模式非常相似.模式字符串由“转 ...

  3. 聊一聊log4j2配置文件log4j2.xml

    一.背景 最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之而来的slf4j整合log4j的配置(使用Slf4j集成Log4j2构建项目日志系统的完美解决方 ...

  4. 使用Slf4j集成Log4j2构建项目日志系统的完美解决方案

    一.背景 最近因为公司项目性能需要,我们考虑把以前基于的log4j的日志系统重构成基于Slf4j和log4j2的日志系统,因为,使用slf4j可以很好的保证我们的日志系统具有良好的兼容性,兼容当前常见 ...

  5. log4j2.xml实用例子

    一个多月前,我写了篇关于log4j.xml配置的文章,点击此处查看:http://www.cnblogs.com/guogangj/p/3931397.html 最近,我把自己的log4j升级到2.0 ...

  6. log4j2 不使用配置文件,动态生成logger对象

    大家平时使用Log4j一般都是在classpath下放置一个log4j的配置文件,比如log4j.xml,里面配置好Appenders和Loggers,但是前一阵想做某需求的时候,想要的效果是每一个任 ...

  7. Log4j2 - 配置

    官方文档:http://logging.apache.org/log4j/2.x/index.html 1 概述 Log4j2的配置包含四种方式,其中3种都是在程序中直接调用Log4j2的方法进行配置 ...

  8. MyBatis - MyBatis使用log4j2显示sql和结果集

    mybatis-config.xml <settings> <setting name="logImpl" value="LOG4J2" /& ...

  9. web项目 log4j2的路径问题

    项目中用到log4j2记录日志,结果运行的时候总也不见log文件的产生. 查看官方文档得知,在web项目中使用log4j2需要加入log4j-web包 log4j2.xml <?xml vers ...

随机推荐

  1. Ajax_数据格式_JSON

    [JSON] 1.JSON(JavaScript Object Notation)一种简单的数据格式,比xml更轻巧.JSON是JavaScript原生格式,这意味着在JavaScript中处理JSO ...

  2. [luoguP1417] 烹调方案(背包DP)

    传送门 By tinylic 如果没有b[i]这个属性的话就是明显的01背包问题. 现在考虑相邻的两个物品x,y.假设现在已经耗费p的时间,那么分别列出先做x,y的代价: a[x]-(p+c[x])* ...

  3. SGU - 321 - The Spy Network

    先上题目: 321. The Spy Network Time limit per test: 0.5 second(s)Memory limit: 65536 kilobytes input: st ...

  4. 设置Linux使用SMTP服务发送邮件

    很多时候我们需要知道服务器的运行状态,比如发生了异常的报警.数据库备份的状态等,假如服务器自动跟你汇报那就好了,我们可以通过设置当触发某些条件时让服务器发送邮件给你,这样你就可以了解你的服务器的状态怎 ...

  5. ORACLE分区表删除分区数据

    --全删除 ALTER TABLE tableName DROP PARTITION partionName UPDATE GLOBAL INDEXES; --清数据 ALTER TABLE tabl ...

  6. The Pilots Brothers' refrigerator DFS+枚举

    Description The game “The Pilots Brothers: following the stripy elephant” has a quest where a player ...

  7. Ubuntu 16.04使用NASM编译时用ld链接程序出现:i386 架构于输入文件 sandbox.o 与 i386:x86-64 输出不兼容(I386 architecture in the input file sandbox.o is not compatible with i386: x86-64 output)

    错误: 问题解决过程: 1.先确定CPU的架构 2.这是以64位架构的CPU,如果使用elf参数时,默认是以32位模式去处理,那么此时需要更精确的去指定这个模式,比如elf32(32位),elf64( ...

  8. Html5 history Api简介

    一. Html4的History API back() 后退,跟按下“后退”键是等效的. forward() 前进,跟按下“前进”键是等效的. go() 用法:history.go(x):在历史的范围 ...

  9. 红帽/CentOS ext4无法格式化大分区

    红帽/CentOS 6.5的e2fsprogs版本号为1.41.12较低.无法创建16TB以上的文件系统 下载最新的e2fsprogs,编译安装 ftp://ftp.ntu.edu.tw/linux/ ...

  10. 使用微信JSSDK实现图片上传

    近期做的一个项目,刚好用到了JSSDK,把用到的东西整理下. 先附上微信开发人员文档链接:微信开发人员文档 主要用到了: 引入JS文件 在须要调用JS接口的页面引入例如以下JS文件.(支持https) ...