logback+SpringBoot日志实践

logback.xml 日志实践(文章最后有参考配置)

  • 当配置日志生成路径如下时
<!-- 定义日志的根目录 -->
<property name="LOG_HOME" value="../logs"/>
<!-- 定义日志文件名称 -->
<property name="appName" value="idolCome"/>
 <file>${LOG_HOME}/${appName}.log</file>

本地日志生成的路径直接在磁盘的根目录下,当时我这个项目时放在F盘,生成日志文件

f:/logs/idolCome.log

  • 当配置路径如下
<!-- 定义日志的根目录 -->
<property name="LOG_HOME" value="logs"/>
<!-- 定义日志文件名称 -->
<property name="appName" value="idolCome"/>
 <file>${LOG_HOME}/${appName}.log</file>

该项目为SpringBoot多模块项目,配置文件位于Controller层Resource。最后日志文件位于父项目的目录下

logBack 其他标签属性说明 property(相当于定义变量,提供给其他地方使用)

<property name="LOG_HOME" value="logs"/>
<property name="appName" value="idolCome"/>

定义属性值方便在其他标签中进行引用如下

<file>${LOG_HOME}/${appName}.log</file>

appender标签(日志放到哪里去,怎么放)

在我理解的apender标签就是为了定义日志的输出格式如果时文件的话就输出文件地址

<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    <!-- 日志输出格式:
        %d表示日期时间,
		%thread表示线程名,
        %-5level:级别从左显示5个字符宽度
        %logger{50} 表示logger名字最长50个字符,否则按照句点分割。
        %msg:日志消息,
        %n是换行符
		-->
     <layout class="ch.qos.logback.classic.PatternLayout">
         <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ==> [%thread] ==> %-5level%logger{50} - %msg%n</pattern>
     </layout>
 </appender>

logger 配置标签配置包的日志输出级别

root 标签也是配置日志输出级别

<!--
root与logger是父子关系,没有特别定义则默认为root,任何一个类只会和一个logger对应,
要么是定义的logger,要么是root,判断的关键在于找到这个logger,然后判断这个logger的appender和level。
-->
<root level="info">
    <appender-ref ref="stdout"/>
    <appender-ref ref="appLogAppender"/>
</root>

接下来是直接引用SpringBoot自带的日志配置文件位于

<include resource="org/springframework/boot/logging/logback/base.xml" />

可以在自带配置的前提下进行扩展自定义

参考logBack.xml配置 来至于 Springboot 集成logback 日志框架简介

<configuration debug="true">
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />

<property name="APP_NAME" value="Logback"/>
<property name="APP_HOME" value="/home/logback"/>
<property name="LOG_HOME_PATH" value="${APP_HOME}/logs"/>
<property name="DEBUG_LOG_FILE" value="${LOG_HOME_PATH}/debug/${APP_NAME}_debug" />
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}" />
<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
	<encoder>
		<pattern>${FILE_LOG_PATTERN}</pattern>
	</encoder>

	<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
		<FileNamePattern>${DEBUG_LOG_FILE}.%d{yyyy-MM-dd}.log</FileNamePattern>
		<MaxHistory>60</MaxHistory>
	</rollingPolicy>

	<filter class="ch.qos.logback.classic.filter.LevelFilter">
		<level>DEBUG</level>
		<onMatch>ACCEPT</onMatch>
		<onMismatch>DENY</onMismatch>
	</filter>
</appender>
<root level="INFO">
	<appender-ref ref="DEBUG_FILE" />
	  <appender-ref ref="CONSOLE"/>
</root>

<logger name="com.mingrn.logback" level="DEBUG">
	<appender-ref ref="DEBUG_FILE"/>
</logger>

<logger name="com.mingrn.logback.repository" level="DEBUG" />
</configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值