springboot_logback

SpringBoot默认使用,logback进行日志管理,在maven dependency中默认包含spring-boot-starter-logging包:

logback的配置方法,在application.yml中进行配置:

(1)log级别:

logging.level:

  root:全局设定

  包+类名: 单独一个类的设定

取值:TRACE / DEBUG / INFO / WARN / ERROR / FATAL / OFF

(2)log位置:

logging.file:绝对路径+文件名

logging.path:路径,文件名默认spring.log

(3)log格式:

logging.pattern.console:控制台log格式

logging.pattern.file:文件log格式

(4)log配置文件:

logging.config:绝对路径   logback.xml(放到resource下,替代默认配置,不需要logging.config)。

(5)输出log:

Logger log = LoggerFactory.getLogger(this.getClass()); //获得log对象

log.Info("messages."); //输出log,自带回车。

logback.xml的demo:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 是否扫描配置文件变化    扫描间隔,无单位时默认毫秒    是否输出logback的log -->
<configuration scan="true" scanPeriod="60 seconds" debug="false"> 
	<!--定义变量的标签    需用绝对路径    Windows下/根路径从当前盘符的根开始 -->
	<property name="LOG_HOME" value="/home" />
	<!-- 定义输出的标签    控制台输出 -->
	<appender name="STDOUT"
		class="ch.qos.logback.core.ConsoleAppender">
		<encoder
			class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
		</encoder>
	</appender>
	<!-- 按照每天生成日志文件 -->
	<appender name="FILE"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<rollingPolicy
			class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!--日志文件输出的文件名 -->
			<FileNamePattern>${LOG_HOME}/springbootApp_%d{yyyyMMddHHmmss}.log
			</FileNamePattern>
			<!--日志文件保留天数 -->
			<MaxHistory>30</MaxHistory>
		</rollingPolicy>
		<encoder
			class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
		</encoder>
		<!--日志文件最大的大小 -->
		<triggeringPolicy
			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<MaxFileSize>10MB</MaxFileSize>
		</triggeringPolicy>
	</appender>

	<!-- 日志输出级别 root代表全局,可以附加指定包/类,单独说明level:更高或者更低 -->
	<root level="INFO">
		<appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
	</root>

    <!-- 配合yml中指定的环境:和现有全局设置冲突时无效 -->
    <springProfile name="prod,test,dev">
        <logger name="类/包" level="INFO" additivity="false">
        <appender-ref ref="STDOUT" />
        </logger>
    </springProfile>

</configuration>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值