springboot添加日志框架

梓铭君      2022-05-06     737

关键词:

日常搭建springboot项目,使用springboot自带的日志框架即可,spirngboot自带的日志框架为:logback。

logback使用

maven依赖导入:

 

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

 配置文件配置:

  在src/main/resources 添加日志配置文件,其中 logback配置文件命名为:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy。

  springboot推荐使用带-spring后缀的配置文件。

  或者可以在application.properties配置文件中指定日志文件地址(在启动不同的配置文件时可以使用,平时一般不用):

  logging.config=classpath:logging-config.xml

  日志文件具体内容:

<?xml version="1.0" encoding="UTF-8"?>
<!--配置一天一个日志文件,info信息存在一个文件中,error信息存在一个文件中-->
<configuration>
    <!--日志文件输出路径-->
    <property name="LOG_HOME" value="log"/>
    <property name="PATTERN_VALUE" value="%red(%d{yyyy-MM-dd HH:mm:ss.SSS}) [ %thread ] - %highlight([ %-5level ]) %green([ %logger{50} : %line ]) - %boldMagenta(%msg%n)"/>
    <!--配置控制台打印信息-->
    <appender name="ConsoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <!--格式化输出:%d:表示日期    %thread:表示线程名     %-5level:级别从左显示5个字符宽度  %msg:日志消息    %n:是换行符-->
            <pattern>
                ${PATTERN_VALUE}
            </pattern>
        </layout>
    </appender>
    <!--配置info文件-->
    <appender name="InfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <!--过来命中就过滤掉-->
            <onMatch>DENY</onMatch>
            <!--没有命中就接受-->
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>
                ${PATTERN_VALUE}
            </pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>${LOG_HOME}/info.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
            <!--保存的时间(天数)-->
            <maxHistory>7</maxHistory>
            <!--日志文件的总大小-->
            <totalSizeCap>10GB</totalSizeCap>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>
    <!--配置error文件-->
    <appender name="ErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>
                ${PATTERN_VALUE}
            </pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/error.%d.log</fileNamePattern>
            <maxHistory>15</maxHistory>
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>
    </appender>
    <!--加载配置项-->
    <root level="INFO">
        <appender-ref ref="ConsoleLog"/>
        <appender-ref ref="InfoLog"/>
        <appender-ref ref="ErrorLog"/>
    </root>
</configuration>

 

  彩蛋:

  日志文件可以控制输出日志颜色,添加配置:%red(%d{yyyy-MM-dd HH:mm:ss.SSS}) 可以实现功能。具体颜色可以自定义切换。

%red(%d{yyyy-MM-dd HH:mm:ss.SSS})

 

 

log4j使用

maven依赖导入:

    <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter</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-log4j</artifactId>
        <version>1.3.8.RELEASE</version>
    </dependency>

 

 配置文件配置:

  在src/main/resources 添加日志配置文件,其中 logback配置文件命名为:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml。

  springboot推荐使用带-spring后缀的配置文件。

  或者可以在application.properties配置文件中指定日志文件地址(在启动不同的配置文件时可以使用,平时一般不用):

  logging.config=classpath:logging-config.xml

日志文件具体内容

log4j.rootLogger=INFO,CONSOLE,day
log4j.appender.logfile.encoding=GBK

#u8F93u51FAu5230u63A7u5236u53F0 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}][%l] %m%n

#u6BCFu5929u751Fu6210u4E00u4E2Au65E5u5FD7u6587u4EF6
log4j.appender.day=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.day.File=logs/log.log
log4j.appender.day.Threshold=INFO
log4j.appender.day.DatePattern=‘.‘yyyy-MM-dd
log4j.appender.day.MaxBackupIndex=30
log4j.appender.day.Append=true
log4j.appender.day.layout=org.apache.log4j.PatternLayout
log4j.appender.day.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}][%l] %m%n

# u6570u636Eu5E93u8F93u51FA
#log4j.appender.jdbc=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.jdbc.driver=com.mysql.jdbc.Driver
#log4j.appender.jdbc.URL=jdbc:mysql://
#log4j.appender.jdbc.user=
#log4j.appender.jdbc.password=
#log4j.appender.jdbc.sql=insert into log_icecoldmonitor(level,category,thread,time,location,note) values(‘%p‘,‘%c‘,‘%t‘,‘%d{yyyy-MM-dd HH:mm:ss:SSS}‘,‘%l‘,‘%m‘)
# u5F00u53D1u670Du6570u636Eu5E93
#log4j.appender.jdbc=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.jdbc.driver=com.mysql.jdbc.Driver
#log4j.appender.jdbc.URL=jdbc:mysql://bj-cdb-4nedn1d3.sql.tencentcdb.com:63994/easyrecord?useSSL=false
#log4j.appender.jdbc.user=easyrecorddev
#log4j.appender.jdbc.password=easyrecorddev!@#
#log4j.appender.jdbc.sql=insert into log_icecoldmonitor(level,category,thread,time,location,note) values(‘%p‘,‘%c‘,‘%t‘,‘%d{yyyy-MM-dd HH:mm:ss:SSS}‘,‘%l‘,‘%m‘)

 

springboot使用之三:springboot使用logback日志

springboot默认使用的日志就是logback,所以使用logback不需要添加日志相关依赖了,执行添加logback.xml配置文件,springboot这个聪明的框架便能识处理你的配置。做法:将logback.xml放在resources下(classpath)下即可。配置参考如下:<?xm... 查看详情

springboot系列springboot日志框架

注意:本SpringBoot系列文章基于SpringBoot版本v2.1.1.RELEASE进行学习分析,版本不同可能会有细微差别。前言Spring框架选择使用了JCL作为默认日志输出。而SpringBoot默认选择了SLF4J结合LogBack。那我们在项目中该使用哪种日志框架呢?在... 查看详情

springboot创建和使用(代码片段)

目录什么是SpringBootSpringBoot的优点SpringBoot项目的创建1、使用idea创建2、项目目录介绍和运行 SpringBoot配置文件 1、配置文件2、配置文件的格式3、properties3.1、properties基本语法 3.2、读取配置文件 3.3、缺点4、yml4.1、优点4.2、yml基... 查看详情

springboot系列springboot日志框架

注意:本SpringBoot系列文章基于SpringBoot版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别。前言Spring框架选择使用了JCL作为默认日志输出。而SpringBoot默认选择了SLF4J结合LogBack。那我们在项目中该使用哪种日志框... 查看详情

java日志框架--springboot中的日志使用(代码片段)

1.SpringBoot中的日志使用springboot框架在企业中的使用越来越普遍,springboot日志也是开发中常用的日志系统。springboot默认就是使用SLF4J作为日志门面,logback作为日志实现来记录日志。不懂日志框架和日志门面的请查看这篇... 查看详情

重学springboot系列之日志框架与全局日志管理(代码片段)

重学SpringBoot系列之日志框架与全局日志管理日志框架的体系结构五花八门的日志工具包日志框架日志门面日志门面存在的意义日志框架选型日志级别常见术语概念解析logback日志框架配置application配置文件实现日志配置日志格式... 查看详情

java日志框架--springboot中的日志使用(代码片段)

1.SpringBoot中的日志使用springboot框架在企业中的使用越来越普遍,springboot日志也是开发中常用的日志系统。springboot默认就是使用SLF4J作为日志门面,logback作为日志实现来记录日志。不懂日志框课和日志门面的请查看这篇... 查看详情

springboot2-日志(代码片段)

springboot2-日志一、日志框架的选择1.供选择的部分框架二、SLF4J使用1.如何在系统中使用SLF4J2.调用代码示例:3.图示:4.如何统一日志记录三、SpringBoot日志关系1.父类2.底层实现3.底层依赖关系4.小结5.引入其他框架6.只需排... 查看详情

javaee——springboot日志篇:日志框架slf4j日志配置日志使用切换日志框架

SpringBoot日志篇1、日志框架(故事引入)小张;开发一个大型系统;?1、System.out.println("");将关键数据打印在控制台;去掉?写在一个文件??2、框架来记录系统的一些运行时信息;日志框架;zhanglogging.jar;?3、高大上的几个功... 查看详情

springboot日志框架选型——log4j2的配置与使用

...最快最好的日志框架。本次介绍的版本是​​​2.18.0​​SpringBoot日志框架 查看详情

springboot框架学习4-springboot核心

本节主要:1:springboot为我们提供的starterpom都有哪些2:怎么添加xml配置文件3:日志相关本文是《凯哥陪你学系列-框架学习之springboot框架学习》中第四篇springboot框架学习4-springboot核心(3)声明:本文系凯哥Java(www.kaigejava.com)原创,... 查看详情

springboot----日志框架和配置(代码片段)

...起使用slf4j进行输出如何让系统中所有日志统一使用slf4jSpringBoot日志关系日志使用1.springBoot默认已经帮我们配置了日志配置关于使用logger.trace()里面传入字符串爆红问题=== 查看详情

springboot日志的使用

SpringBoot支持JavaUtileLogging、Log4J、Log4J2和Logback作为日志框架,无论使用哪种框架,SpringBoot都为当前使用日志框架及文件输出做好了配置。默认情况下,SpringBoot使用LogBack作为默认日志框架,输出格式的文件是logback.... 查看详情

springboot日志

1、日志框架小张;开发一个大型系统;1、System.out.println("");将关键数据打印在控制台;去掉?写在一个文件?2、框架来记录系统的一些运行时信息;日志框架;zhanglogging.jar;3、高大上的几个功能?异步模式?自动归档?xxxx... 查看详情

springboot统一日志框架的使用

...统一日志框架的使用,第一步要排除其他的日志框架,在SpringBoot的Maven依赖里可以清楚的看到SpringBoot排除了其他日志框架(<exclusions>标签)。我们自行排除依赖时也只需要按照图中的方式就好了。SpringBoot是使用了SLF4J+logback的... 查看详情

springboot与日志框架1(代码片段)

一、日志框架1.无论在什么系统,日志框架都是一个重要角色,所以理解和用好日志框架是相当重要的;像JDBC一样,日志框架分为接口层的门面和具体的实现组成。2.市面上的产品:2.1门面:SLF4J(SimpleLogginFacadeforJava)、JCL(JakartaCom... 查看详情

springboot日志的各种使用姿势,你真的用对了吗?(代码片段)

...;logback和log4j则对slf4j进行了实现。我们本文将讲述如何在springboot中应用logback+slf4j实现日志的记录。为什么使用logbackLogback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境,同时天然支... 查看详情

springboot与日志框架2(日志内斗)(代码片段)

一、SpringBoot如何引入slf4j+logback框架的呢?在POM文件中<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>依赖<d 查看详情