<?xml version="1.0" encoding="UTF-8"?>
<configuration status="info">
<appenders>
<Console name="Console" target="SYSTEM_OUT" follow="true">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %-5level %logger{30}.%method - %msg%n"/>
</Console> <!--默认按天&按512M文件大小切分日志,默认最多保留30个日志文件,非阻塞模式-->
<XMDFile name="infoAppender" fileName="info.log" sizeBasedTriggeringSize="512M"
rolloverMax="">
<Filters>
<ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
</XMDFile> <XMDFile name="warnAppender" fileName="warn.log" sizeBasedTriggeringSize="512M"
rolloverMax="">
<Filters>
<ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
</XMDFile> <XMDFile name="errorAppender" fileName="error.log" sizeBasedTriggeringSize="512M"
rolloverMax="">
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
</XMDFile> <!--日志远程上报-->
<Scribe name="ScribeAppender">
<!--远程日志默认使用appkey作为日志名(app.properties文件中的app.name字段),也可自定义scribeCategory属性,scribeCategory优先级高于appkey-->
<LcLayout/>
</Scribe>
<Async name="ScribeAsyncAppender" blocking="false">
<AppenderRef ref="ScribeAppender"/>
</Async> <!--hive日志远程上报-->
<Scribe name="ScribeHiveAppender">
<!--远程日志默认使用appkey作为日志名(app.properties文件中的app.name字段),也可自定义scribeCategory属性,scribeCategory优先级高于appkey-->
<Property name="scribeCategory">qcs.regulation.jiaotongbu</Property>
<LcLayout/>
</Scribe>
<Async name="XMDFileAppender" blocking="false">
<AppenderRef ref="ScribeHiveAppender"/>
</Async> <CatAppender name="catAppender"/> </appenders> <loggers>
<logger name="hive-logger" additivity="false">
<AppenderRef ref="XMDFileAppender"/>
<appender-ref ref="ScribeAsyncAppender"/>
</logger> <logger name="com.sankuai.qcs.regulation" additivity="false">
<appender-ref ref="ScribeAsyncAppender"/>
<appender-ref ref="infoAppender"/>
<appender-ref ref="warnAppender"/>
<appender-ref ref="errorAppender"/>
<appender-ref ref="catAppender"/>
</logger> <!--其他日志-->
<root level="info">
<appender-ref ref="warnAppender"/>
<appender-ref ref="errorAppender"/>
<appender-ref ref="Console"/>
<appender-ref ref="catAppender"/>
</root>
</loggers>
</configuration>

其中 最后的:

<root level="info">
<appender-ref ref="warnAppender"/>
<appender-ref ref="errorAppender"/>
<appender-ref ref="Console"/>
<appender-ref ref="catAppender"/>
</root>
指的是<!-- 设置根日志级别,指定路径中的日志优先级大于根日志优先级
如果设置了level=info 就是说 根目录会打印info以上的信息;
参考:Log4J日志信息配置文件详解

log4j2.xml的更多相关文章

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

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

  2. log4j2.xml实用例子

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

  3. log4j2.xml配置及例子

    1.使用log4j2需要下载包,如下: 2.配置文件可以有三种格式(文件名必须规范,否则系统无法找到配置文件): classpath下名为 log4j-test.json 或者log4j-test.j ...

  4. log4j之log4j2.xml使用

    依赖jar包 log4j-api-2.6.2.jar log4j-core-2.6.2.jar log4j-slf4j-impl-2.6.2.jar slf4j-api-1.7.12.jar 在res ...

  5. log4j2.xml日志文件设置文件路径

    笔者最近的项目里使用了spring,spring通过web.xml配置监听器,在web启动时web.root系统变量,以供其他变量使用,例如 在属性文件里使用${web.root}以取得完整路径,项目 ...

  6. log4j2的配置文件log4j2.xml笔记

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

  7. log4j2配置文件log4j2.xml

    原地址:https://www.cnblogs.com/hafiz/p/6170702.html 1.关于配置文件的名称以及在项目中的存放位置 log4j 2.x版本不再支持像1.x中的.proper ...

  8. Spring Log4j2 log4j2.xml

    <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-c ...

  9. log4j2配置文件log4j2.xml详解(转载)

    此博文转载自阿豪聊干货:https://www.cnblogs.com/hafiz/p/6170702.html 一.背景 最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2. ...

  10. 动态配置log4j2.xml日志输出文件的位置

    目标:根据启动jar时传进main()的参数动态修改日志位置 一.修改启动项 MainMapLookup.setMainArguments(args);注:不要在lookup设置之前初始化log(如: ...

随机推荐

  1. python入门学习:6.用户输入和while循环

    python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...

  2. 一、springBoot简介与环境搭建

    前言:学习计划 1.springBoot环境搭建 2.springBoot入门 3.srpingBoot整合Mybatis 4.springBoot整合Redis,Redis集群 5.springBo ...

  3. 009_一行python重要工具

    一.一行启动httpserver 你可以先登录容器(webssh),然后(注意必须是在/data/log/debug/pprof/目录) 例如生成 jvm dump文件 jmap -dump:form ...

  4. git&github入门使用

    一.在Linux上安装Git 首先,你可以试着输入git,看看系统有没有安装Git,没有就yum一个,反正也是自己玩玩 二.版本库创建 什么是版本库呢?版本库又名仓库,英文名repository,你可 ...

  5. 腾讯app自动化测试读后感

    1.播放器播放视频,如何验证视频播放成功? 1.1播放时间>=0,获取Video标签里的current time判断. 1.2有播放画面,截屏获取. 框架自带的截图功能, 1.3有播放声音,获取 ...

  6. vim 正则非贪婪模式

    比如多匹配使用 .* 效果自然是贪婪模式,JS 的非贪婪很简单,是 .*? 即可,而 vim 不同,语法是 .\{-},注意 \ 转义.

  7. 配置Nginx虚拟主机

    实验环境 一台最小化安装的CentOS 7.3虚拟机 配置基本环境 1. 安装nginx yum install -y epel-* yum isntall -y nginx vim 2. 建立虚机主 ...

  8. 提取jedis源码的一致性hash代码作为通用工具类

    一致性Hash热点 一致性Hash算法是来解决热点问题,如果虚拟节点设置过小热点问题仍旧存在. 关于一致性Hash算法的原理我就不说了,网上有很多人提供自己编写的一致性Hash算法的代码示例,我在跑网 ...

  9. python第三章:循环语句--小白博客

    Python条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非 ...

  10. Python-os模块-60

    os 模块: 和操作系统打交道的模块 os模块是与操作系统交互的一个接口 os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirna ...