springboot 之日志配置

前言

一直没机会做spring生态圈的框架,公司选择的是一些小众的微服务,鉴于此考虑,丰富自己的技术栈,花了两天时间从网上各网站上学习了springboot一些基础知识。
本章只介绍springboot微服务的默认日志配置,logback组件。

环境准备

  • IntelliJ IDEA
  • 前一章中搭建的微服务框架

开始集成

  1. pom.xml中增加依赖包


    增加依赖包.png
        
            org.springframework.boot
            spring-boot-starter-logging
        

        
            
            org.projectlombok
            lombok
            1.18.8
            provided
        
  1. application.yml中增加logging的配置


    logging配置.png
# Logging settings.
logging:
  config: classpath:logback-spring.xml
  1. 右键resources目录,新增文件logback-spring.xml


    logback配置文件

    内容:







    logback
    
    
    
    
    
    
    
        
            DEBUG
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{50} -- %msg%n
            
            UTF-8
        
    

    
    
    
        
        
        
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{50} -- %msg%n
            UTF-8 
        
        
        
            
            ${LOG_PATH}public-%d{yyyy-MM-dd}.%i.log
            
            100
            
            
            10MB
            
             
            200MB
        
    

    
    
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{50} -- %msg%n
            UTF-8 
        
        
            ${LOG_PATH}error-%d{yyyy-MM-dd}.%i.log
            100
            
                
                10MB
            
            
            200MB
        
        
        
            ERROR
            ACCEPT
            DENY
        
    

    
    
        
        
            
            
            
        
    

    
    
        
            
            
        
    


为了区分开发环境和生产环境中日志记录方式以及日志记录的级别不同,在该配置文件中通过区分,本文中,定义了dev和prd两种模式,此值在application.yml中定义


yml配置模式.png
  1. yml中增加配置
spring:
  #日志记录模式
  profiles:
    active: dev  #用来控制当前使用什么模式
  #服务启动时打印的横幅
  banner:
    charset: "UTF-8"
    location: classpath:banner.txt

4'. 番外话
此处banner是服务启动时展示的横幅,一般是工程名或服务名通过banner生成器生成的,网址为:http://patorjk.com/software/taag/

          _____                    _____                    _____                   _______
         /\    \                  /\    \                  /\    \                 /::\    \
        /::\    \                /::\    \                /::\____\               /::::\    \
       /::::\    \              /::::\    \              /::::|   |              /::::::\    \
      /::::::\    \            /::::::\    \            /:::::|   |             /::::::::\    \
     /:::/\:::\    \          /:::/\:::\    \          /::::::|   |            /:::/~~\:::\    \
    /:::/  \:::\    \        /:::/__\:::\    \        /:::/|::|   |           /:::/    \:::\    \
   /:::/    \:::\    \      /::::\   \:::\    \      /:::/ |::|   |          /:::/    / \:::\    \
  /:::/    / \:::\    \    /::::::\   \:::\    \    /:::/  |::|___|______   /:::/____/   \:::\____\
 /:::/    /   \:::\ ___\  /:::/\:::\   \:::\    \  /:::/   |::::::::\    \ |:::|    |     |:::|    |
/:::/____/     \:::|    |/:::/__\:::\   \:::\____\/:::/    |:::::::::\____\|:::|____|     |:::|    |
\:::\    \     /:::|____|\:::\   \:::\   \::/    /\::/    / ~~~~~/:::/    / \:::\    \   /:::/    /
 \:::\    \   /:::/    /  \:::\   \:::\   \/____/  \/____/      /:::/    /   \:::\    \ /:::/    /
  \:::\    \ /:::/    /    \:::\   \:::\    \                  /:::/    /     \:::\    /:::/    /
   \:::\    /:::/    /      \:::\   \:::\____\                /:::/    /       \:::\__/:::/    /
    \:::\  /:::/    /        \:::\   \::/    /               /:::/    /         \::::::::/    /
     \:::\/:::/    /          \:::\   \/____/               /:::/    /           \::::::/    /
      \::::::/    /            \:::\    \                  /:::/    /             \::::/    /
       \::::/    /              \:::\____\                /:::/    /               \::/____/
        \::/____/                \::/    /                \::/    /                 ~~
         ~~                       \/____/                  \/____/
    ::  ${application.title} : ${application.formatted-version} ::

application.title和application.formatted-version可以通过在yml中增加配置实现替换表示应用名称和版本号

application:
  title: "springboot-demo"
  formatted-version: "1.0"
  1. 所有配置性的操作都做完了,该使用了


    log使用.png

    前面引入依赖的时候引入了lombok组件,(该组件可以简化代码,使用方法大家可以搜一下),引用注解@Slf4j,在本类中就可以使用静态变量log去记录日志了

  2. 服务运行后,控制台日志以及日志文件生成


    控制台.png

    日志文件.png

你可能感兴趣的:(springboot 之日志配置)