`

SpringBoot中的日志配置

阅读更多

默认采用Logback打印日志
文件名:logback-spring.xml,SpringBoot自动加载xml文件

日志具体配置说明

<configuration>
    <!--在控制台显示日志颜色-->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wex"
                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <conversionRule conversionWord="wEx"
                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
    <!--日志文件目录-->
    <springProperty scope="context" name="LOG_HOME" source="log.home"  defaultValue="/data/logs/web-admin"/>
    <!--root的默认日志级别-->
    <springProperty scope="context" name="LOG_ROOT_LEVEL" source="log.level" defaultValue="INFO"/>
    <springProperty scope="context" name="STDOUT" source="log.stdout" defaultValue="STDOUT"/>
    <!--日志文件名前缀-->
    <springProperty scope="context" name="LOG_PREFIX" source="spring.application.name"/>
    <!--日志内部属性-->
    <property name="LOG_CHARSET" value="UTF-8" />
    <property name="LOG_DIR" value="${LOG_HOME}/%d{yyyyMMdd}" /> <!--按天生成日志-->
    <property name="MAX_FILE_SIZE" value="1MB" /><!--日志文件大小-->
    <property name="MAX_HISTORY" value="7"/><!--日志保留天数-->
    <!--控制台格式配置-->
    <property name="CONSOLE_LOG_PATTERN"
              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
    <!--日志文件中格式配置-->
    <property name="LOG_MSG" value="- | [%d{yyyyMMdd HH:mm:ss.SSS}] | [%level]|[${HOSTNAME}] | [%thread]|[%logger{40}] | [--> %msg] |%n "/>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>${LOG_CHARSET}</charset>
        </encoder>
    </appender>
    <!--全部日志-->
    <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_HOME}/all_${LOG_PREFIX}.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${LOG_DIR}/all_${LOG_PREFIX}%i.log</FileNamePattern>
            <MaxHistory>${MAX_HISTORY}</MaxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>${LOG_MSG}</pattern>
        </layout>
    </appender>
    <!--错误日志-->
    <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
           <filter class="ch.qos.logback.classic.filter.LevelFilter">
               <level>ERROR</level>
               <OnMismatch>DENY</OnMismatch>
               <OnMatch>ACCEPT</OnMatch>
           </filter>
           <File>${LOG_HOME}/err_${LOG_PREFIX}.log</File>
           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                   <FileNamePattern>${LOG_DIR}/err_${LOG_PREFIX}%i.log</FileNamePattern>
                   <MaxHistory>${MAX_HISTORY}</MaxHistory>
               <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                   <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
               </timeBasedFileNamingAndTriggeringPolicy>
           </rollingPolicy>
           <layout class="ch.qos.logback.classic.PatternLayout">
                   <Pattern>${LOG_MSG}</Pattern>
           </layout>
    </appender>

    <logger name="root" level="INFO"/>
    <!--根据不同环境配置日志级别-->
    <springProfile name="default">
        <logger name="com.shuangxin.admin" level="DEBUG"/>
    </springProfile>

    <springProfile name="prod">
        <logger name="com.shuangxin.admin" level="ERROR"/>
    </springProfile>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE_ALL" />
    </root>
</configuration>

 效果显示

2018-04-09 16:42:13.602  INFO 8188 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-04-09 16:42:13.608  INFO 8188 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2018-04-09 16:42:13.637  INFO 8188 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 29 ms
2018-04-09 16:42:13.727  INFO 8188 --- [nio-8080-exec-1] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} inited

日志按分钟分割效果



 

 

  • 大小: 28.1 KB
0
0
分享到:
评论

相关推荐

    springboot打印日志配置

    springboot打印日志配置,自定义输出路径,只用到了生成文件和控制台输出

    SpringBoot Logback配置,SpringBoot日志配置

    它是Logback的日志配置文件,通过XML格式定义了日志的级别、输出位置、格式等。Spring Boot推荐使用`logback-spring.xml`而不是传统的`logback.xml`,因为`logback-spring.xml`会由Spring Boot的自动配置机制处理,...

    springboot日志配置.zip

    SpringBoot是Java开发中的一个流行框架,它简化了Spring应用的初始...以上就是SpringBoot日志配置的基本要点,理解并掌握这些知识点,可以帮助你有效地管理和监控你的应用程序日志,从而提高开发效率和问题排查能力。

    springboot 日志配置文件 logback

    springboot 日志配置文件 logback 它当前分为以下三个模块: logback-core:其它两个模块的基础模块。 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如...

    springboot项目查询es中的日志内容

    在本项目中,我们主要探讨如何使用SpringBoot与Elasticsearch(ES)集成,以便查询存储在ES中的日志内容。Elasticsearch是一种强大的、分布式、实时的搜索和分析引擎,常用于处理大量数据,特别是在日志管理和分析...

    spring boot日志文件配置

    该配置文件为springboot的日志配置文件,在项目中直接可直接引用

    springboot-logback配置

    springboot-logback日志文件配置

    springboot+mybatis+dubbo 分布式框架搭建及日志配置

    至于日志配置,SpringBoot默认集成了Logback或Log4j2作为日志系统。你可以根据需求在`logback.xml`或`log4j2.xml`中定制日志级别、输出格式和文件路径。如果需要在分布式环境中统一管理日志,可以考虑引入ELK...

    springboot日志框架logback异步输出配置

    目前所有的日志记录方式采用的都是同步的方式,即直接将日志写入文件。每次日志输出到文件都会进行一次磁盘IO,在多应用的时候这种效果会导致一定的线程运行延迟,所以可以采用异步的方式处理。 采用异步写日志的...

    SpringBoot中的日志管理示例代码

    Spring Boot默认集成了多种日志框架,如Logback和Log4j2,使得日志配置简单且高效。在这个"SpringBoot中的日志管理示例代码"中,我们将探讨如何在Spring Boot应用中有效地管理和使用日志。 首先,Spring Boot的日志...

    SpringBoot开发-日志配置那些事.rar

    SpringBoot开发_日志配置那些事 SpringBoot开发_日志配置那些事 SpringBoot开发_日志配置那些事 如何让系统中所有的日志都统一到slf4j; 1、将系统中其他日志框架先排除出去;...SpringBoot日志关系

    【SpringBoot探索二】SpringBoot项目集成日志记录功能

    此外,SpringBoot还提供了通过环境变量或配置文件动态调整日志级别的功能,这使得在生产环境中对日志进行实时控制变得更加方便。 总的来说,SpringBoot集成日志记录功能是一项基础但至关重要的工作,通过合理的配置...

    springboot 日志配置文件(完整的中文注释)

    给大家分享完整的日志配置信息,以及各种配置的各种含义,有着完整的中文注释。 此logback.xml文件既有成彩色输出也有日志级别的分类,不同级别的日志进行分类输出;error日志单独输出一份至一个文件夹中,设置滚动...

    SpringBoot 源码解析——SpringBoot 中的日志基础服务.docx

    SpringBoot为开发者提供了灵活的日志配置,支持多种日志系统,如Java Log、Log4j2和Logback。本文将深入探讨SpringBoot源码中的日志服务。 **日志文件配置** 日志文件的名称和存储路径可以通过系统环境参数`...

    谈谈你了解的springboot日志框架

    4. **SpringBoot日志的默认配置** SpringBoot默认使用SLF4J作为日志抽象层,并结合Logback作为默认的日志实现。Spring框架早期使用JCL,但现在推荐使用SLF4J。SpringBoot的配置文件(`application.properties`或`...

    SpringBoot框架pom配置示例

    在上述配置中,我们引入了`spring-boot-starter-web`来支持Web开发,`spring-boot-starter-data-jpa`用于JPA(Java Persistence API)和数据库操作,`postgresql`是PostgreSQL数据库的驱动,`lombok`则是一个代码...

    springboot的java配置实例

    7. **日志配置** Spring Boot默认集成了Logback或Log4j2作为日志系统,可以通过配置文件(`application.properties`或`application.yml`)来调整日志级别和输出位置。 8. **运行与打包** Spring Boot应用可以通过`...

    elk+springboot+kafka日志跟踪配置1

    在上述配置中,spring.application.name 和 spring.logstash.server 两个属性来自 application.yml 文件,可以根据不同的环境(dev、test、prod)进行配置。 Kafka 集成 在 SpringBoot 项目中,需要添加 Kafka ...

    SpringBoot2.1.4基础配置.zip

    在SpringBoot中,通过配置log4j2.xml或log4j2.json文件,可以定制日志输出的位置、级别和其他属性,确保开发过程中获取到合适的日志信息。 这个"我的示例"(MyDemo)项目,可能是包含了所有这些技术集成的示例代码...

    Springboot统一web请求日志

    3. **自定义日志配置** 如果需要更精细的控制,可以在项目的`src/main/resources`目录下创建`logback-spring.xml`或`logback-spring.groovy`文件,以覆盖默认配置。例如,可以添加一个Appender来记录HTTP请求的详细...

Global site tag (gtag.js) - Google Analytics