我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在Spring 5.0中使用log4j2实现日志管理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在Spring 5.0中使用log4j2实现日志管理

本篇文章为大家展示了怎么在Spring 5.0中使用log4j2实现日志管理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

先引入log4j 2的三个jar包

  1. log4j-api-2.10.0.jar

  2. log4j-core-2.10.0.jar

  3. log4j-web-2.10.0.jar

项目下的web.xml文件加入,本设置让日志文件使用${web:rootDir}输出到web目录下

<context-param>  <param-name>log4jContextName</param-name>  <param-value>myApplication</param-value></context-param>

log4j 2支持JSON、YAML、properties、XML四种配置方式,我们按老规据使用 properties 配置 Log4j2

在项目的class="lazy" data-src目录下加入log4j2.properties文件,spring 5.0默认会自动加载该文件

# 设定Log4j2内部的日志级别,有效值:trace, debug, info, warn, error, fatal。只对Log4j本身的事件有效,可以不设置,当设置成trace时,会看到log4j2内部各种详细输出status = fatal# 配置的名称name =PropertiesConfigappenders = console,I#控制台类型的日志输出源appender.console.type = Console#输出源的名称appender.console.name = consoleLog#输出布局类型appender.console.layout.type = PatternLayout#输出模板appender.console.layout.pattern = %m%nappender.console.target = System_out # 文件滚动记录类型的日志输出源appender.I.type = RollingFile# 当前滚动输出源的名称,以便在Logger的配置项中能够调用appender.I.name = InfoRollingFile# 当前正在操作的日志文件的文件名appender.I.fileName = ${web:rootDir}/WEB-INF/log/info.log# 归档后的日志文件的文件名格式,其中`%d{yyyy-MM-dd-HH}`用来自动填充日期appender.I.filePattern = ${web:rootDir}/WEB-INF/log/info_%d{MM-dd}_%i.log# 滚动记录输出源布局类型appender.I.layout.type = PatternLayout# 滚动记录输出模板appender.I.layout.pattern = %-d{yyyy-MM-dd HH:mm:ss} [ %p ] [ %c ] %m%n# 指定记录文件的封存策略,该策略主要是完成周期性的日志文件封存工作appender.I.policies.type = Policies# 基于时间进行日志的切割appender.I.policies.time.type = TimeBasedTriggeringPolicy# 切割的间隔为1月, 即每天进行一次日志的归档,如果filePattern中配置的文件重命名规则是${web:rootDir}/WEB-INF/log/info_%d{yyyy-MM-dd HH-mm}-%i,最小的时间粒度是mm,即分钟,TimeBasedTriggeringPolicy指定的size是1,结合起来就是每2分钟生成一个新文件。如果改成%d{yyyy-MM-dd HH},最小粒度为小时,则每2个小时生成一个文件。appender.I.policies.time.interval = 1# 修正时间范围, 从0时开始计数。若modulate=true,则封存时间将以0点为边界进行偏移计算。比如,modulate=true,interval=4hours,那么假设上次封存日志的时间为03:00,则下次封存日志的时间为04:00,之后的封存时间appender.I.policies.time.modulate = true# 基于日志文件体积的触发策略appender.I.policies.size.type = SizeBasedTriggeringPolicy# 当日志文件体积大于size指定的值时,触发Rollingappender.I.policies.size.size=50M# 文件封存的覆盖策略(RolloverStrategy)appender.I.strategy.type = DefaultRolloverStrategy# 生成分割(封存)文件的个数appender.I.strategy.max = 100# 根日志,所有日志的父节点 级别顺序(低到高):all < trace <debug < info < warn < error < fatal <offrootLogger.level = debugrootLogger.appenderRef.I.ref = InfoRollingFilerootLogger.appenderRef.I.level = info# 关联名称为consoleLog的输出源 注意consolelog小写rootLogger.appenderRef.consolelog.ref = consoleLog# 生产环境设为off关闭控制台日志输出rootLogger.appenderRef.consolelog.level = debug

配置完成后写个类测试一下

import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;public class TestClass{  public static final Logger logger = LogManager.getLogger(TestClass.class);  public void test(){    logger.info("信息....");  }}

上述内容就是怎么在Spring 5.0中使用log4j2实现日志管理,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在Spring 5.0中使用log4j2实现日志管理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在Spring 5.0中使用log4j2实现日志管理

本篇文章为大家展示了怎么在Spring 5.0中使用log4j2实现日志管理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。先引入log4j 2的三个jar包log4j-api-2.10.0.jarl
2023-05-30

Laravel怎么使用Observer实现日志管理模块

这篇文章主要介绍“Laravel怎么使用Observer实现日志管理模块”,在日常操作中,相信很多人在Laravel怎么使用Observer实现日志管理模块问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Lar
2023-06-20

在Spring Boot中使用slf4j与logback如何实现配置日志

这期内容当中小编将会给大家带来有关在Spring Boot中使用slf4j与logback如何实现配置日志,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。spring boot主要的目的是:为 Spring
2023-05-31

在spring中利用security怎么实现自定义决策管理器

在spring中利用security怎么实现自定义决策管理器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先介绍下Spring的决策管理器,其接口为AccessDecis
2023-05-31

在Spring中AOP怎么使用注解来实现

这期内容当中小编将会给大家带来有关在Spring中AOP怎么使用注解来实现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。spring对AOP的实现提供了很好的支持。下面我们就使用Spring的注解来完成A
2023-05-31

在Kotlin中使用Spring Boot怎么实现一个RESTful服务

今天就跟大家聊聊有关在Kotlin中使用Spring Boot怎么实现一个RESTful服务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Spring太复杂了,配置这个东西简直就是浪
2023-05-31

SpringBoot2 中怎么使用 QuartJob 实现定时器实时管理

本篇文章给大家分享的是有关SpringBoot2 中怎么使用 QuartJob 实现定时器实时管理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、QuartJob简介1、一句
2023-06-02

怎么在Spring Boot中使用ElasticSearch实现一个搜索引擎

这篇文章将为大家详细讲解有关怎么在Spring Boot中使用ElasticSearch实现一个搜索引擎,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Elastic Search是一个开源的
2023-05-30

怎么在java中使用mysql实现一个学生信息管理系统

今天就跟大家聊聊有关怎么在java中使用mysql实现一个学生信息管理系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体内容如下import java.awt.BorderLay
2023-05-30

Android中怎么利用RecyclerView实现今日头条频道管理功能

这篇文章将为大家详细讲解有关Android中怎么利用RecyclerView实现今日头条频道管理功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。实现思路:通过ItemTouchHelper
2023-05-30

Linux中使用全局框架怎么实现内存管理

Linux中使用全局框架怎么实现内存管理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一. 地址划分。1. CPU地址。CPU地址是指CPU的地址总线能寻址的
2023-06-16

怎么在Spring Boot与Thymeleaf中使用JPA实现一个分页效果

怎么在Spring Boot与Thymeleaf中使用JPA实现一个分页效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1 创建项目,用pom.xml引入依赖这里将创建名为T
2023-06-06

使用java怎么在控制台中实现一个学生信息管理系统

使用java怎么在控制台中实现一个学生信息管理系统?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重
2023-06-14

C++中怎么使用Map实现学生信息管理系统

本文小编为大家详细介绍“C++中怎么使用Map实现学生信息管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中怎么使用Map实现学生信息管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、 作品
2023-06-30

怎么在Android中利用RecyclerView实现一个频道管理功能

本篇文章给大家分享的是有关怎么在Android中利用RecyclerView实现一个频道管理功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。需要在build里添加依赖 com
2023-05-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录