Log4j2的常用配置
定义日志测试类:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
logger.trace("我是trace信息");
logger.debug("我是debug信息");
logger.info("我是info信息");
logger.warn("我是warn信息");
logger.error("我是error信息");
logger.fatal("我是fatal信息");
1、log4j规定了默认的几个级别:trace<debug<info<warn<error<fatal。级别之间是包含的关系,如果设置的是trace,则大于等于这个级别的日志都会输出。
2、Log4j有一个默认的配置,它的日志级别是ERROR,只输出到控制台。
3、root没有name属性,root相当于根节点,所有的logger都继承了root的log配置,如果没有指定logger的级别,只能打印root级别以上的日志。
即使你在很多类里面通过类名.class.getName() 得到很多的logger,而且没有在配置文件的loggers下面做配置,他们也都能够输出,因为他们都继承了root的log配置。
如下设置,root的级别为error,
<root level="error" includeLocation="true">
<appender-ref ref="Console"/>
</root>
<!-- 定义控制台输出 --> Console这些节点不能随便命名的。
<Console name="Console" target="SYSTEM_OUT" follow="true">
<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />
</Console>
输出结果:
2016-12-22 15:17:28.978 ERROR [main][Log4j2Test.java:15] - 我是error信息
2016-12-22 15:17:28.979 FATAL [main][Log4j2Test.java:16] - 我是fatal信息
如果修改控制台输出,加入如下:
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="fatal" onMatch="ACCEPT" onMismatch="DENY"/>
则Console只输出fatal级别以上的日志:
2016-12-22 15:19:05.945 FATAL [main][Log4j2Test.java:16] - 我是fatal信息
设置指定类的日志输出,如果设置级别为info,即使root的级别为error,指定类的info级别以上的扔能输出,相当于重写了root。
<!--additivity开启的话,如果这个logger也是满足root的,所以会被打印两遍。-->
<logger name="test.Log4j2Test" level="info" additivity="false">
<appender-ref ref="ERROR-APPENDER"/>
</logger>
则test.Log4j2Test的所有info级别以上的日志会输出到ERROR-APPENDER文件里,如果ERROR-APPENDER有设置:
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
则test.Log4j2Test只有满足error以上级别的才会输出到文件,要大于logger本身定义的info级别。
最终输出root->logger->appender的级别限制。
如果test.Log4j2Test配置两个AppenderReF,那么两个都会记录满足level="debug"级别的日志,这样会造成多处记录日志,应该开启匹配过滤。
<logger name="test.Log4j2Test" level="debug" additivity="false">
<AppenderReF ref="DEBUG-APPENDER"/>
<AppenderReF ref="ERROR-APPENDER"/>
</logger>
发邮件功能,只有error级别以上的才能发邮件,需要引入mail的jar包。
<SMTP name="Mail" subject="Error Log" to="to@qq.com" from="from@sina.cn" replyTo="from@sina.cn"
smtpProtocol="smtp" smtpHost="smtp.sina.cn" smtpPort="25" bufferSize="50" smtpDebug="false"
smtpPassword="***" smtpUsername="from@sina.cn">
</SMTP>
转载于:https://blog.51cto.com/netpeak/1897216
Log4j2的常用配置相关推荐
- Spring Boot + Log4j2 日志框架配置 (Maven)
参考Spring Boot官方文档 日志部分 Spring Boot默认情况下,当使用"Starters" 使用Logback输出日志 , 还包括适当的Logback路由, 确保其 ...
- Spring Boot 实践折腾记(四):配置即使用,常用配置
生活不可能像你想象的那么好,但也不会像你想象的那么糟.我觉得人的脆弱和坚强都超乎自己的想象.有时,可能脆弱得一句话就泪流满面:有时,也发现自己咬着牙走了很长的路.--源自 莫泊桑 开始前- 本章内容主 ...
- IntelliJ IDEA 最常用配置,应用、永久激活
包含 1.最常用配置 2.应用 3.永久激活 刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,磨刀不误砍柴工. 比如:设置文件字体大小,代码自动完成提示,版本管理,本 ...
- VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装
VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装 在阿里云开源镜像地址下载镜像 Index of /centos/7.2.1511/isos/x86_64/ http://mi ...
- ctrl+shift+l指定选择 vscode_6.PYTHON开发利器之VS Code常用配置介绍
0.前言 在上一节中详细介绍了如何使用vscode+GitHub进行代码托管和向开源项目贡献自己的代码,详见5.2.PYTHON开发利器之使用VS Code+GitHub进行python开源项目开发. ...
- Maven pom.xml 全配置(二)不常用配置
Maven pom.xml 全配置(二)不常用配置 这里贴出Maven pom.xml文件中使用率较少的配置参数,如果此篇文档中没有找到你想要的参数,移步Maven pom.xml 全配置(一)常用配 ...
- Maven pom.xml 全配置(一)常用配置
Maven pom.xml 全配置(一)常用配置 这里贴出一个Maven中出现频率较高的配置参数注释,方便理解项目中Maven的配置具体的作用.如果在此博文中没有找到你想看到的参数,可以移步Maven ...
- vim的常用配置及使用方法
点击打开链接 vim是vi发展出来的一个编辑器,ubuntu为了减小安装文件的尺寸,默认安装了vi的原始版本,我们需要下载安装它的升级版本:vim. vim的功能丰富,而且可以根据自己的需要对其进行配 ...
- SpringBoot阿里巴巴Fastjson的一些常用配置
SpringBoot阿里巴巴Fastjson的一些常用配置 @Beanpublic HttpMessageConverters fastJsonHttpMessageConverters() {Fas ...
- SpringBoot常用配置简介
SpringBoot常用配置简介 1. SpringBoot中几个常用的配置的简单介绍 一个简单的Spring.factories # Bootstrap components org.springf ...
最新文章
- 应用构建工具包 Ecere SDK
- Sealed,new,virtual,abstract与override的区别
- ZeroMQ接口函数之 :zmq_pgm – ØMQ 使用PGM 进行可靠的多路传输
- 百度实习生前端面试面经
- apache-ab并发负载压力测试(转)
- SAP License:启动物料帐后不可更改物料价格的处理方法
- mongo 主从数据不同步
- 大数据分析有哪些特征
- vue-router动态路由设置参数可选
- 剑指Offer_编程题_16
- python读取同花顺数据_python爬取同花顺数据
- A/B/C类ip地址 掩码 广播地址 路由汇集 保留地址
- 计算机辅助设计师考试报考网址,计算机辅助设计师证如何报考?报名入口
- 红米手机停在机器人这里_红米开不了机,开机画面一直显示一个米兔机器人在修理的画面...
- 【官宣】顺丰同城宣布苏炳添出任首位品牌代言人,给你稳稳的幸福
- 稀里糊涂的准备开始了……
- 企业邮箱退信提示:“550 5.1.1 User unknown.”
- mysql去除括号以及括号中的字符
- html 动画标签,无HTML标签元素的恐龙动画
- 如何制作计算机启动盘,如何制作u盘启动盘 教你简单的操作方法
热门文章
- 为什么我们总觉得别人掌握的技术总是牛叉的?
- 最牛逼android上的图表库MpChart(二) 折线图
- 性能测试--jmeter中的用户自定义变量【13】
- 计算机中是如何存储图片的,电脑如何保存图片
- python 国产_再体验国产最好的Python IDE之NovalIDE
- python安装requests库提示更新_解决已经安装requests,却依然提示No module named requests问题...
- vue 如何清除浏览器的内存_浏览器垃圾回收机制与 Vue 项目内存泄漏场景分析
- grasshopper for rhino 6下载_漫谈算法设计与脚本语言(grasshopper, python)
- dnf剑魂buff等级上限_DNF:强化15武器失败,11年老剑魂选择离开,脱坑BUFF都难挽回!...
- C# internal和public