spring整合log4j_spring整合log4j

spring整合log4j_spring整合log4j常用日志框架log4j、log4j2(log4j的升级版,最常用的)、logback(spring boot默认)、Jboss-logging…等slf4 是日志接口规范,代码对接slf4,实现和具体日志框架解耦,无需修改编码即可切换日志框架。修改pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

常用日志框架

  • log4j、log4j2(log4j的升级版,最常用的)、logback(spring boot默认)、Jboss-logging…等

  • slf4 是日志接口规范,代码对接slf4,实现和具体日志框架解耦,无需修改编码即可切换日志框架。

  • 修改pom依赖

    <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter</artifactId>
         <!--移除框架中的logback依赖-->
         <exclusions>
             <exclusion>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-starter-logging</artifactId>
             </exclusion>
         </exclusions>
     </dependency>
     
     
     <!-- 支持log4j2的模块-->
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-log4j2</artifactId>
     </dependency>
    
    • 添加xml配置文件:log4j2.xml
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j2能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<configuration status="WARN" monitorInterval="30">
    <Properties>
        <!-- 配置日志文件输出目录 -->
        <Property name="LOG_HOME" value="C:\Users\Administrator\Desktop\讲课\0326\logs" />
    </Properties>
     <!--先定义所有的appender-->
     <appenders>
     <!--这个输出控制台的配置-->
         <Console name="Console" target="SYSTEM_OUT">
         <!--输出日志的格式-->
            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
         </Console>
        <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用-->
         <File name="log" fileName="${LOG_HOME}//test.log" append="false">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
         </File>
        <!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
         <RollingFile name="RollingFileInfo" fileName="${LOG_HOME}/info.log"
                      filePattern="${LOG_HOME}/$${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="${LOG_HOME}/warn.log"
                     filePattern="${LOG_HOME}/$${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="${LOG_HOME}/error.log"
                      filePattern="${LOG_HOME}/$${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才会生效
        !! DEBUG => 研发
     	!!INFO => 研发
     	!!ERROR  => 生产环境
     ...
     
     每10M  生成一个文件
     每天或者间隔多长时间生成一个文件
     -->
     <loggers>
        <root level="INFO">
            <appender-ref ref="Console"/>
            <!--暂时注释文件日志输出-->
            <appender-ref ref="RollingFileInfo"/>
            <appender-ref ref="RollingFileWarn"/>
            <appender-ref ref="RollingFileError"/>
        </root>
    </loggers>
</configuration>
  • 添加xml配置文件:log4j2.xml

  • 测试

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
       protected Logger logger = LoggerFactory.getLogger(getClass());
    
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169021.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月9日 上午7:36
下一篇 2022年8月9日 上午7:36


相关推荐

  • 蓝墨云班课计算机测试题答案,20155317 第一周蓝墨云班课考题「建议收藏」

    蓝墨云班课计算机测试题答案,20155317 第一周蓝墨云班课考题「建议收藏」201553172016-2017-2蓝墨云班课考题第2周上周蓝墨云班课考题1(单选题|1分)Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比。A.正确B.错误正确答案:B解析:课本16页:Amdahl定律的主要思想是:当我们对系统的某个部分加速时,其对系统整体性能的影响取决于该部分的重要性和加速程度。假设系统某部分所需执行时间与…

    2025年7月22日
    5
  • 杭州的旅游景点与民间传说故事「建议收藏」

    杭州的旅游景点与民间传说故事「建议收藏」 杭州的旅游景点与民间传说故事虎跑梦泉虎跑泉是一处以“泉”为主题的观泉、听泉、品泉、试泉的泉源景观,又是以性空、济公、弘一法师传奇故事为特色的人文景观,坐落位于西湖之南的大慈山定慧禅寺内。民间传说唐代性空大师游历此山,这里风景优美,只是无水源,决定去别处,忽然有神人告诉他即将有二只老虎会来挖泉,翌日,果然有二虎跑山出泉,甘冽醇厚,纯净无菌,从此“龙井茶叶虎跑泉”被称为“西湖双绝”。

    2022年5月31日
    37
  • (十六) 按钮和折叠插件

    (十六) 按钮和折叠插件

    2022年4月3日
    47
  • GitHub 热榜:轻量级无 Agent 的自动化运维平台!「建议收藏」

    GitHub 热榜:轻量级无 Agent 的自动化运维平台!「建议收藏」大家好,我是JackTian。作为一名运维工程师,大家都知道。早在几年前,偏传统运维,以cacti、nagios为主流,到后来的zabbix、Prometheus、Open-Falcon等,也是现在大多数企业用的偏多的运维监控平台。甚至有些企业,都是自主研发。不管是自主研发还是用开源的,其最终目的都是为了提高日常运维工作效率。那么,今天杰哥给大家推荐一款GitHub热榜开源运维平台——spug。这款开源运维平台是:面向中小型企业设计的轻量级无Agent的自动化运维平台,其主要功能

    2022年5月13日
    60
  • 【OpenCV】中copyto()函数的使用方法理解[通俗易懂]

    【OpenCV】中copyto()函数的使用方法理解[通俗易懂]CopyTo()函数重载

    2025年5月25日
    5
  • 【5G NR】RRC Reject解析

    【5G NR】RRC Reject解析RRCReject 消息用于拒绝 RRC 连接建立或 RRC 连接重建 信令无线承载 SRB0 传输模式 TM 逻辑信道 CCCH 方向网络到 UERRCReject 消息 RRCRejectRej 用于为计时器 T302 提供以秒为单位的值 取值范围 1 16 RejectWaitTi 信息内容

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号