~~~~~~~~~~~~~~~~~~~~log4j2.xml文件内容

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="OFF" monitorInterval="30">
<properties>
<!--设置日志在硬盘上输出的目录-->
<property name="logPath">logs</property>
</properties>

<Appenders>
<!--设置在控制台打印日志-->
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5p]:%d{YYYY-MM-dd HH:mm:ss} [%t] %c{1}:%L - %msg%n" />
</Console>

<!--设置级别为INFO日志输出到info.log中-->
<RollingFile name="INFO" filename="${logPath}/info.log"
filepattern="${logPath}/%d{YYYYMMdd}-%i-info.log.zip">
<Filters>
<!--设置只输出级别为INFO的日志-->
<ThresholdFilter level="INFO"/>
<ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
</Filters>
<PatternLayout pattern="[ %-5p]:%d{YYYY-MM-dd HH:mm:ss} [%t] %c{1}:%L - %msg%n" />
<Policies>
<!--设置每天打包日志一次-->
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<!--设置日志文件满1MB后打包-->
<SizeBasedTriggeringPolicy size="1 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingFile>

<!--设置级别为WARN日志输出到warn.log中-->
<RollingFile name="WARN" filename="${logPath}/warn.log"
filepattern="${logPath}/%d{YYYYMMdd}-%i-warn.log.zip">
<Filters>
<!--设置只输出级别为WARN的日志-->
<ThresholdFilter level="WARN"/>
<ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL"/>
</Filters>
<PatternLayout pattern="[ %-5p]:%d{YYYY-MM-dd HH:mm:ss} [%t] %c{1}:%L - %msg%n" />
<Policies>
<!--设置每天打包日志一次-->
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<!--设置日志文件满1MB后打包-->
<SizeBasedTriggeringPolicy size="1 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingFile>

<!--设置级别为ERROR日志输出到error.log中-->
<RollingFile name="ERROR" filename="${logPath}/error.log"
filepattern="${logPath}/%d{YYYYMMdd}-%i-error.log.zip">
<!--设置只输出级别为ERROR的日志-->
<ThresholdFilter level="ERROR"/>
<PatternLayout pattern="[ %-5p]:%d{YYYY-MM-dd HH:mm:ss} [%t] %c{1}:%L - %msg%n" />
<Policies>
<!--设置每天打包日志一次-->
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<!--设置日志文件满1MB后打包-->
<SizeBasedTriggeringPolicy size="1 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingFile>

<!--设置通过邮件发送日志信息-->
<SMTP name="Mail" subject="XXXXSaaS系统正式版异常信息" to="yong.shi@lengjing.info" from="message@lengjing.info"
smtpUsername="message@lengjing.info" smtpPassword="LENG****1234" smtpHost="mail.lengjing.info" smtpDebug="false"
smtpPort="25" bufferSize="10">
<PatternLayout pattern="[%-5p]:%d{YYYY-MM-dd HH:mm:ss} [%t] %c{1}:%L - %msg%n" />
</SMTP>
</Appenders>

<Loggers>
<logger name="com.example.demo" level="INFO" additivity="true">  //Logger节点用来单独指定日志的形式,比如要为指定包下的class指定不同的日志级别等。
<appender-ref ref="INFO" />
<appender-ref ref="WARN" />
<appender-ref ref="ERROR" />
<appender-ref ref="Mail" />
</logger>
<root level="DEBUG">    //Root节点用来指定项目的根日志,如果没有单独指定Logger,那么就会默认使用该Root日志输出
<appender-ref ref="Console"/> 
</root>
</Loggers>
</Configuration>

~~~~~~~~~~~~~~~~~~~~~~POM.xml设置

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<version>1.3.8.RELEASE</version>
</dependency>

~~~~~~~~~~~~~~~~~~Application.properties

logging.config=classpath:log4j2.xml

~~~~~~~~~~~~~~~~~~~~~~~~

log4j2.xml建在resources目录下

Log4j2在项目中的常用配置的更多相关文章

  1. [ionic开源项目教程] - 第5讲 如何在项目中使用全局配置

    第5讲 如何在项目中使用全局配置? Q:ionic开发,说纯粹一点,用的就是html+css+js,那么无疑跟web开发的方式是类似的.在这里给大家分享一个小技巧,如何在项目中使用全局配置? A:我的 ...

  2. java项目中日志的配置

    1.日志相关比较详细的介绍:https://www.cnblogs.com/tanshaoxiaoji/p/log4j_config.html 2.总结1中博客说的内容 目前市场上常用的日志有log4 ...

  3. 从零开始学 Java - log4j 项目中的详细配置

    你还会用笔来写字么 我是不怎么会了,有时候老是拿起笔之后不知道这个字怎么写,这时候就会拿起手机去打出来:有时候还会写出来这个字之后越看越不像,这时候就开始怀疑自己的能力了:有时候写出来了一大堆字之后, ...

  4. Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)

    在自动化测试项目中,可能会碰到一些经常使用的但 很少变化的配置信息,下面就来介绍使用configparser来读取配置信息config.ini 读取的信息(config.ini)如下: [config ...

  5. Python+Selenium进行UI自动化测试项目中,常用的小技巧1:读取excel表,转化成字典(dict)输出

    从今天开始我将会把在项目中遇到的问题,以及常用的一些技巧来分享出来,以此来促进自己的学习和提升自己:更加方便我以后的查阅. 现在要说的是:用Python来读取excel表的数据,返回字典(dict), ...

  6. Spring + SpringMVC + Mybatis项目中redis的配置及使用

    maven文件 <!-- redis --> <dependency> <groupId>redis.clients</groupId> <art ...

  7. vue项目中vscode格式化配置和eslint配置冲突

    问题描述 使用vscode开发vue项目的时候,从远端拉下一个新的项目后,安装完依赖后跑起项目时,发现直接报了一堆语法错误:包括换行.空格.单双引号.分号等各种格式问题 因为我的 vscode 安装使 ...

  8. Vue2.5笔记:如何在项目中使用和配置Vue

    最开始的项目开发中,我们如果使用第三方的库我们会直接在项目中直接使用 script 元素标签引入即可. <script src="../xxx.js"></scr ...

  9. 在Springboot2.0项目中使用Druid配置多数据源

    在Springboot出现之前配置数据源以及相关的事物,缓存等内容一直是个繁琐的工作,但是Springboot出现后这些基本都可以靠默认配置搞定,就变得很轻松了.这就是现在推崇模板>配置的原因, ...

随机推荐

  1. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算第三周总结

    相关测试过程截图 测试了由中缀表达式转后缀表达式的Junit测试,分别进行了整数的和分数的,测试成功截图 由于生成问题和计算问题中,问题都是随机产生的,暂时不会进行Junit测试,故没有进行,但应是正 ...

  2. 解决qt提示:qt.network.ssl: QSslSocket: cannot call unresolved function DH_free

    方法一(解决):把C:\Qt\Qt5.8.0\Tools\QtCreator\bin下的libeay32.dll和ssleay32.dll库复制到C:\Qt\Qt5.8.0\5.8\msvc2015_ ...

  3. Oracle varchar与varchar2的区别

    varchar -- 存放定長的字符数据,最长2000個字符:varchar2 -- 存放可变长字符数据,最大长度为4000字符. varchar2是oracle提供的独特的数据类型oracle保证在 ...

  4. 使用JCOOKIES创建http cookie

    jCookies,一个功能强大的操作http cookie的jquery插件,他能够让你存储任何数据类型如:字符串,数组,对象等.它通过JavaScript存储Cookies,然后通过服务器端代码如: ...

  5. inet_ntoa内存问题

    最近写的一个程序,大致用到以下代码: WSADATA wsaData; WSAStartup (MAKEWORD( 2, 2 ),&wsaData); struct addrinfo *aiL ...

  6. Android定位&地图&导航——基于百度地图,实现自定义图标绘制并点击时弹出泡泡

    一.问题描述 上一次我们使用百度地图实现基本的定位功能,接下来我们继续实现搜索和定位,并使用LocationOverlay绘制定位位置,同时展示如何使用自定义图标绘制并点击时弹出泡泡 如图所示: 二. ...

  7. 【GPU编解码】GPU硬解码---DXVA (转)

    前面介绍利用NVIDIA公司提供的CUVID库进行视频硬解码,下面将介绍利用DXVA进行硬解码. 一.DXVA介绍 DXVA是微软公司专门定制的视频加速规范,是一种接口规范.DXVA规范制定硬件加速解 ...

  8. AWK常用技巧

    1.1 介绍 awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上 AWK 的确拥有自己的语言: AWK ...

  9. leetcode笔记:Validate Binary Search Tree

    一. 题目描写叙述 Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is ...

  10. CoffeeScript简介 <一>

    介绍 coffeeScript是一种轻量级的编程语言,可以用编译器生成原生javascript代码.它简化了许多javascript繁琐的方式,可以让你用简单的方式直接使用一行程序代表javascri ...