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/169003.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Hyper-V 与Broadcom网卡兼容问题 dell-r420 720

    Hyper-V 与Broadcom网卡兼容问题 dell-r420 720

    2021年9月2日
    63
  • sqlmap中文手册pdf_sqlquery工具

    sqlmap中文手册pdf_sqlquery工具这是我自己翻译的Sqlmap1.1.10的中文手册。Sqlmap是十分著名的、自动化的SQL注入工具。为了较为系统地学习Sqlmap,我决定翻译一遍Sqlmap的用户手册,于是便有了此文。由于我英语学得很差,所以翻译地不好。基本上是意译,还加入了我自己的东西,和原文有较大差距。

    2022年10月20日
    5
  • IDEA2018.1.4 破解教程

    第一步:下载破解补丁==》http://idea.lanyus.com/下载之后得到==》JetbrainsCrack-2.10-release-enc.jar第二步:重命名去掉-release-enc,然后放在IDEA安装目录的bin文件夹里面第三步:分别在idea.exe.vmoptions和idea64.exe.vmoptions文件里的最后一行添加-java…

    2022年4月6日
    141
  • python3 openssl_python3.7——openssl升级「建议收藏」

    Python3.7使用的openssl为1.0.2版本或1.1以上的版本Centos.9安装openssl1.1版本[root@python3_7soft]#mkdir–p/soft[root@python3_7soft]#cd/soft[root@python3_7soft]#wgethttps://www.openssl.org/source/openssl-1.1.0…

    2022年4月13日
    57
  • pycharm配色方案下载_sublime修改字体大小

    pycharm配色方案下载_sublime修改字体大小话不多说,先看效果图python中设置配色基本流程都差不多,版本不一样,但是基本设置也是大同小异步骤如下:第一步:File→Settings→Appearance&Behavior→Theme:Darcula→OK第二步:File→Settings→Editor→ColorScheme→ColorSchemeFont→Sche…

    2022年8月27日
    2
  • Arduino教程 RFID-RC522读IC卡门禁原理及破解防御[通俗易懂]

    【文章特色:1、提出IC卡破解原理和简单有效的防御方法2、网上其他文章对于硬件如何接线说得模糊不清】1、序言2、加载RC522库文件3、模块引脚接线4、程序代码5、运行结果先说下简单门禁系统的原理:(1)IC卡激活:门禁卡管理员将卡片放到读卡器、这时软件读取到IC卡的UID序列号信息(相当于身份证号码),将这个UID录入数据库激活IC卡。(2)刷卡

    2022年4月17日
    288

发表回复

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

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