springboot整合log4j2

2023-11-15

1.排除springboot本身日志 
2.添加log4j2 maven没有父项目 就必须指定version!!
3.配置application.yml文件 打印sql级别为debug
4.配置log4j2.xml

logging.config=classpath:log4j2.xml
logging.level.com.zhkj.shopping=debug
#mybatis-plus.mapper-locations = classpath*:/mapper/**Mapper.xml
#输出有结果集 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#mybatis.configuration.log-impl=org.apache.ibatis.logging.log4j2.Log4j2Impl

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>${springboot.version}</version>
            <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-web</artifactId>
            <version>${springboot.version}</version>
            <!-- 排除spring boot默认日志logback -->
            <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>2.1.14.RELEASE</version>
        </dependency>


<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<configuration status="info" monitorInterval="30">
    <!--先定义所有的appender-->
    <appenders>
        <!--这个输出控制台的配置-->
        <console name="Console" target="SYSTEM_OUT">
            <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
            <!--输出日志的格式-->
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
        </console>
        <!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
        <RollingFile name="RollingFileInfo" fileName="logs/info.log"
                     filePattern="logs/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">
            <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
            <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
        </RollingFile>
        <RollingFile name="RollingFileWarn" fileName="logs/warn.log"
                     filePattern="logs/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log">
            <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
            <!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 -->
            <DefaultRolloverStrategy max="20"/>
        </RollingFile>
        <RollingFile name="RollingFileError" fileName="logs/error.log"
                     filePattern="logs/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log">
            <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
        </RollingFile>
    </appenders>
    <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
    <loggers>
        <!--过滤掉spring和mybatis的一些无用的DEBUG信息-->
        <logger name="org.springframework" level="INFO" additivity="false"></logger>
        <logger name="springfox.documentation" level="error" additivity="false"></logger>
        <logger name="org.mybatis" level="INFO" additivity="false"></logger>
        <root level="INFO">
            <appender-ref ref="Console"/>
            <appender-ref ref="RollingFileInfo"/>
            <appender-ref ref="RollingFileWarn"/>
            <appender-ref ref="RollingFileError"/>
        </root>
    </loggers>
</configuration>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot整合log4j2 的相关文章

  • 集群部署模式下的 Spark-Submit 将应用程序 ID 获取到控制台

    我陷入了一个需要快速解决的问题 我已经阅读了许多关于 Spark 集群部署模式的帖子和教程 但我对这种方法一无所知 因为我被困了几天 我的用例 我有很多使用 spark2 submit 命令提交的 Spark 作业 提交后我需要在控制台中打
  • 鉴于我陷入了 SLF4J 和 java.util.Logging 的困境,最佳解决方案是什么?

    情况 我们使用带有异步附加程序的 SLF4j 和 Log4j 2 问题是我们还使用 JSF 它使用java util Logging 我看到各种关于使用性能的令人发指的警告jul to slf4j因为你不能就这么放弃java util Lo
  • 覆盖 WildFly 中的日志记录

    我使用 tomcat 并简单地覆盖默认日志系统 如何在我的 Spring 应用程序中启用 Wildfly 上的 logback 日志记录 我的 Logback xml 在 tomcat 上工作
  • Junit测试时如何将日志级别设置为DEBUG?

    我将 SLF4J 与 LOG4J 一起使用 配置通常位于log4j properties 并将日志级别设置为 INFO 但是在测试期间我想将日志设置为 调试 我看不出有什么方法可以实现自动化 也没有类似的东西log4j tests prop
  • 不同的应用程序写入相同的 log4j 日志文件

    我有 4 个 java Java EE 应用程序 其中两个是在 WebSphere 中运行的基于服务器的 j2ee 应用程序 另外两个是独立的 java 应用程序 我的日志框架是使用 log4j properties 的 log4j 问题
  • 停止从依赖项向控制台显示记录器输出

    我的 Java 项目中有一些 Maven 依赖项 它们使控制台输出与冗余日志信息变得混乱 我想禁用此类日志记录 设置additivity财产给false可能有帮助 但无法正确使用它 我正在寻找一个log4j xml仅打印日志输出的配置 wa
  • 多模块 Maven 项目中的 log4j

    如何在多模块 Maven 项目中实现 log4j 我是否将 log4j properties 文件添加到每个子模块的 src main resources 目录中 如果是这样 我是否必须为每个文件附加器指定不同的输出文件 或者有没有一种方法
  • Log4J SocketAppender 吞下来自远程客户端的调试信息

    我已经配置了一个简单套接字服务器 http logging apache org log4j 1 2 apidocs org apache log4j net SimpleSocketServer html public class Sim
  • 从日志文件解析 Log4j 布局 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有可以读取所有内容的开源工具布局实现 http logging apache org log4j
  • 如何仅在 log4j 中记录警告

    在 Struts 2 应用程序中 我们使用 log4j 进行日志记录 我只想记录警告 但是当我尝试在 log4j properties 中使用时 log4j rootLogger warn stdout 它也打印错误和致命日志 我只想要警告
  • 记录多线程应用程序中的活动

    我有一个 Java 分层应用程序 它有一个从不同点调用的多线程数据访问层 对该层的一次调用可能会产生多个线程来并行化对数据库的请求 我正在寻找的是一个日志记录工具 它允许我定义由各种线程组成的 活动 因此 数据访问层中的相同方法应根据其调用
  • Kafka 快速入门:我需要哪些依赖项?

    我正在研究卡夫卡快速入门 http kafka apache org 07 quickstart html http kafka apache org 07 quickstart html 以及基本的消费者组示例 https cwiki a
  • 在 Java 中禁用 Log4J 输出

    怎样才能快速关闭所有Log4J输出使用log4j properties file 将级别设置为关闭 而不是调试 信息
  • Log4j TimeBased 触发策略中 modulate = 'true' 表示什么

    在下面的示例中 每天都会创建一个日志文件 考虑到这个例子 您能否提供一个场景来展示 modulate true 的用法 并将间隔设置为 1
  • 通过匹配模式过滤日志 - log4j

    我的 log4j xml 文件中有以下布局模式 d ISO8601 c p t x 9 5 4 RC12 m n 我想要的是 每当我收到包含消息的日志时process proc completed 应该跳过 我的意思是除了包含此消息的日志之
  • 如何将堆栈跟踪发送到 log4j?

    假设您捕获了一个异常 并在标准输出 例如控制台 上得到以下内容 如果您执行e printStackTrace java io FileNotFoundException so txt at java io FileInputStream
  • 如何禁用 Spring 日志记录 DEBUG 消息?

    我正在开发一个简单的桌面应用程序 不是网络应用程序 这是我的log4j properties log4j rootCategory INFO stdout log4j appender stdout org apache log4j Con
  • 您能让 Tomcat 6 stdout.log 文件表现得像 log4j DailyRollingFileAppender 吗?

    我们使用的是 Tomcat 6 的 Windows 安装 默认情况下 我们应用程序的 log4j 输出将转到 catalina base logs stdout log 文件 该日志文件仅在我们重新启动 Tomcat 时滚动 并且文件名始终
  • grails 中的 log4j:如何登录文件?

    我的 grails config groovy 中有这个 log4j 配置 log4j error org codehaus groovy grails web servlet controllers org codehaus groovy
  • 记录类名、方法名和行号的性能影响

    我正在我的 java 应用程序中实现日志记录 以便我可以调试应用程序投入生产后可能出现的潜在问题 考虑到在这种情况下 人们不会奢侈地使用 IDE 开发工具 以调试模式运行事物或单步执行完整代码 因此在每条消息中记录类名 方法名和行号将非常有

随机推荐

  • CMake:消灭error(一)

    使用CMake 遇到的第一个错误 CMake Error CMake can not determine linker language for target hello CMake Error Cannot determine link
  • 微信小程序 首页弹出用户协议

    话不多说 直接上代码 wxml
  • 经典神经网络总结

    1 LeNet 5 3层卷积 2层全连接 第一个CNN网络 由 L e C u n LeCun LeCun提出 用于手写数字识别 1 1 网络结构 1 2 各层参数详解 0 INPUT层 输入层 输入图像
  • Python 自动发送邮件实战案例,人人都可以学会

    自动发送邮件能应用于许多场景 比如我想要知道股票策略中的股票池是否有实时的更新 这时候如果再拉一遍数据 跑一遍脚本 实在是太浪费时间了 为什么不把这一套流程放到服务器上 然后到点自动运行并发送邮件呢 类似的应用场景还有很多 不仅仅是在股票策
  • Android系统启动流程

    Android系统启动流程学习 会对Android系统与Linux系统的关系有一个更深的理解 Android启动流程 Android启动时序图 Linux启动 开机过电 复位器件 执行Bootloader程序 arm中是uboot或者fas
  • 经历一些事,认清一些人

    你发现了吗 随着年龄的增长 我们身边的朋友没有变多 反而越来越少了 这是我们的交友能力逐渐在下滑吗 其实不然 这是因为随着经历的事情多了 我们具备了认清别人的能力 能够分辨哪些是生命中的过客 哪些是值得珍惜的挚友 1 高分美剧 后翼弃兵 中
  • 3D游戏设计——AR/MR技术

    HW12 AR小游戏设计 本次AR小游戏并没有给出什么要求 由于大作业实在太多了 所以这篇博客重点在于怎么配置环境 并实现图片识别的功能 虚拟按键的玩法暂时没有想到什么好的点子 会在之后比较有空时详细设计 并补充完整 求TA手下留情 配置环
  • Bootstrap4 模态对话框示例

  • Java中"abc" instanceof Object返回结果

    返回结果 true instanceof 是Java的一个二元操作符 和 gt lt 是同一类的比较运算符 因为它由字母组成的 所以也是Java的关键保留字 它的作用是测试它左边的对象是否是它右边类的实例 返回boolean类型数据 abc
  • Android如何离线播放加密(HLS)m3u8视频——实现HLS缓存

    HTTP Live Streaming HLS 是苹果公司 Apple Inc 实现的基于HTTP的流媒体传输协议 可实现流媒体的直播和点播 主要应用在iOS系统 为iOS设备 如iPhone iPad 提供音视频直播和点播方案 它的工作原
  • MES制造执行系统的原理与实现

    前言 近些年来 我国已经涌现了大量的制造型企业 随着竞争的发展 对产品质量的要求越来越高 特别是在电子制造型的企业里 对于制造流程控制的要求不断提升 许多企业为了增强竞争力 不惜重金实施ERP 系统 以求缩减成本控制 缩短供货周期 但在内部
  • 微信小程序——操作数组

    1 数组 排序 过滤 求和 去重 乱序 let array sort 数组正序 array 5 4 3 2 1 console log array sort reverse 数组倒序 array 1 2 3 4 5 console log
  • 人工智能谓词逻辑——猴子摘香蕉问题

    案例 我们要实现以下步骤 让猴子得到香蕉 但是直接跳够不到 必须站在箱子上才能取到 这个案例共有以下几种情况 猴子香蕉箱子在同一处 猴子香蕉在同一处 香蕉箱子在同一出 还有三者均不在同一处 但不论是哪种情况 我们需要清楚一点就算是香蕉和猴子
  • CUDA Samples: image normalize(mean/standard deviation)

    以下CUDA sample是分别用C 和CUDA实现的通过均值和标准差对图像进行类似归一化的操作 并对其中使用到的CUDA函数进行了解说 各个文件内容如下 关于均值和标准差的计算公式可参考 http blog csdn net fengbi
  • 【Kettle从零开始】第八弹之Kettle变量参数传递介绍

    对于ETL参数传递是一个很重要的环节 因为参数的传递会涉及到业务数据是如何抽取 下面我为大家举例一个简单的需求 需求说明 需要抽取昨天的数据装载到目标表中 1 参数作用域 答 Kettle中参数大致可分为两类 一类是全局参数 一类是局部参数
  • Linus系统的详细安装教程:

    第一步 首先创建虚拟机 1 打开VMware 点击左上角新建虚拟机如下 2 选择相关选项 也可以选自定义 自定义完成下一步即可 如下图 3 选择 稍后安装操作系统 S 如下图 4 版本也可以选择其他的Red Hat版本 CentOS是Red
  • 003 冒泡排序法的详细实现过程——“C”

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 冒泡排序法是什么 二 实现过程 1 图解 一次的冒泡排序 一 冒泡排序法是什么 冒泡排序是一种交换排列 基本思想是比较前后的关键字 如果反序则交换 直到有
  • C++ opencv的一些基础知识

    一 基础知识 1 cv mat type返回数字对应的类型 C1 C2 C3 C4 指的是通道 Channel 数 比如3通道的float 32 cv Mat M5 cv Mat zeros 2 3 CV 32FC 3 2 at方法数据类型
  • moviepy音视频开发:audio_fadein、fadeout实现声音淡入淡出

    前往老猿Python博文目录 一 概述 为了支持一些常规的音频变换处理 moviepy提供了一系列常用的变换函数 开发者可以直接使用这些方法进行变换 这些函数都在moviepy audio fx包下 基本上一个函数就是一个文件 audio
  • springboot整合log4j2

    1 排除springboot本身日志 2 添加log4j2 maven没有父项目 就必须指定version 3 配置application yml文件 打印sql级别为debug 4 配置log4j2 xml logging config