美文网首页
6.跟我学SpringBoot-日志处理

6.跟我学SpringBoot-日志处理

作者: 孔垂云 | 来源:发表于2017-12-03 17:41 被阅读0次

SpringBoot的日志处理还是比较简单的,默认是logBack作为日志处理组件,只需要引用logback.xml配置即可。

下面讲一下SpringBoot怎么配置logBack。

1.maven依赖

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

不需要再单独引入logback的配置,因为SpringBoot默认是使用Logback作为日志组件的


日志默认引用.png

2.logback配置

LogBack默认的日志文件名为logback-spring.xml,放在resouces根目录下。
剩下的就是Logback的具体参数了,没有区别

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
    <!-- appender -->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} - %m%n
            </pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 系统日志配置 -->
    <appender name="sysLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_PATH}/sys.log</file>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${LOG_PATH}/%d{yyyyMMdd}/sys-%d{yyyyMMdd}.log
            </FileNamePattern>
            <maxHistory>365</maxHistory>
        </rollingPolicy>
        <encoder>
            <ImmediateFlush>true</ImmediateFlush>
            <charset>utf-8</charset>
            <Pattern>[%d{yyyyMMdd HH:mm:ss}] - %m%n</Pattern>
        </encoder>
    </appender>
    <!-- additivity为false不向root控制台输出 -->
    <logger name="sysLog" additivity="false" level="info">
        <appender-ref ref="stdout"/>
        <appender-ref ref="sysLogAppender"/>
    </logger>

    <!-- root 默认日志配置 -->
    <root level="info">
        <appender-ref ref="stdout"/>
        <appender-ref ref="sysLogAppender"/>
    </root>
    <logger name="org.springframework" level="INFO"/>
</configuration>

这里面有一个参数${LOG_PATH},实际生产中,日志的路径需要统一指定,最好在application.yml统一命名,便于以后的参数几种管理。

logging:
  path: d:\\logs\\springboot

application.yml 增加如上配置,则整个日志的存储都放在设置的路径下了。
这里说明一下,SpringBoot的启动和停止日志也可以同时输出至sys.log这个下面,这样就可以记录应用的启动和停止日志,便于追溯问题。

<!-- root 默认日志配置 -->
    <root level="info">
        <appender-ref ref="stdout"/>
        <appender-ref ref="sysLogAppender"/>
    </root>

3.具体使用

@RestController
public class LogController {
    private static Logger sysLog = LoggerFactory.getLogger("sysLog");

    @RequestMapping("/log")
    public void log() {
        sysLog.info("日志成功输出");
    }
}

这样就可以输出日志了。

4.总结

SpringBoot有默认的Logback日志组件,如果要用其他的日志组件,比如Log4J,Log4J2,可以自行百度搜索。

源码下载

本例子详细源码

相关文章

  • 6.跟我学SpringBoot-日志处理

    SpringBoot的日志处理还是比较简单的,默认是logBack作为日志处理组件,只需要引用logback.xm...

  • SpringBoot-统一异常处理

    SpringBoot-统一异常处理 一、什么是异常处理 异常(exception) 是程序运行过程中发生的事件, ...

  • SpringBoot-@Async异步注解

    使用@Async可以帮助我们快速将@Async标注的方法在一个异步线程池中处理 SpringBoot-线程池使用 ...

  • SpringBoot-异常处理

    SpringBoot的异常处理,主要是指对异常进行包装,以友好的方式返回给调用方。处理方式主要通过@RestCon...

  • SpringBoot-日志管理

    使用logback可以非常容易实现日志共享。 在代码中引入: private static final Logge...

  • python基础操作搜集

    1. 面向对象格式 2. dictionary 3. 二维数组 4. 日志模块 5.字符串处理 6. 字符串转数字

  • 4.跟我学SpringBoot-整合JdbcTemplate

    在学习一项应用开发技术的入门,通俗来讲就是学习增删改查,如何连接数据库,如果写增删改查代码,后续的就是根据具体业务...

  • 10.跟我学SpringBoot-整合mongoDB

    在学习这一节前,你需要了解什么是MongoDB,怎么安装,细节参看:4.1MongoDb介绍及java使用 1.m...

  • 7.跟我学SpringBoot-整合redis

    做SpringBoot开发,没有redis怎么可能行呢,因此需要用最简单的方法来整合redis,SpringBoo...

  • 9.1.跟我学SpringBoot-整合rabbitmq

    在讲这一篇之前,你首先要知道什么是RabbitMq,做什么用,怎么安装,细节请查看8.1RabbitMq安装及使用...

网友评论

      本文标题:6.跟我学SpringBoot-日志处理

      本文链接:https://www.haomeiwen.com/subject/ufgobxtx.html