开发者学堂课程【SpringBoot快速掌握 - 核心技术:指定日志文件和日志 Profile 功能】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/612/detail/9238
指定日志文件和日志 Profile 功能
logging.level.com.atguigu=trace
#
l
ogging.path=
#不指定路径在当前项目下生成 springboot.log 日志
#可以指定完整的路径;
#logging.file=G:/springboot.log
#在当前磁盘的根路径下创建 spring 文件夹和里面的 log 文件夹;使用 spring.log 作为默认文件
logging.path=/spring/log
#在控制台输出的日志的格式logging.pattern.console=%d
{
yyyy-MM-dd
}
[%thread]
%-5level
%logger
{
5
0}
-
%msg%n
#指定文件中日志输出的格式logging.pattern.file=%d
{
yyyy-MM-dd
}
===
[%thread]
===
%-5level
===
%logger
{
50
}
====
%msg%n
通过配置文件能改 springboot 对日志里面的默认配置,这也只能改掉个别的默认配置。
springboot 对日志的默认配置是怎样的可以在 External Libraries 包的扩展包中的
Maven: org.springframework.boot:spring-boot:1.5.10.RELEASE
中的org.springframework.boot
专门有一个 logging 默认配置都在里面。
比如在用 logback 日志配置文件是如下所示:<
include resource="org/springframework/boot/logging/logback/dafaults.xml"
/
>
_
FILE" value="$(LOG
_
FILE:-$
{
LOG_PATH:-$
{
LOG
_
T
E
MP:-$
{
java.io.tmpdir:-/tmp
}}}
/sprin
g
/
>
/>
level="INFO">
ref="CONSOLE"
/
>
ref="FILE"/>
included 文件里包含了 defaults 说明默认的需要用 defaults.xml。
defaults 里面定义的信息包括 CONSOLE_LOG_PATTERN,如果没定义这个的情况下看这个语法
${CONSOLE_LOG_PATTERN:
-%clr(%d(yyyy-MM-dd HH:mm:ss .SSS
}
)
{
faint
}
%c
l
r($(LOG_ LEVEL_ PATTERN:-%5p
}
) %c
l
r($
{
PID
:- }。
${CONSOLE_LOG_PATTERN
取出这个值,冒号没有的话默认值就是这一块
-%clr(%d(yyyy-MM-dd HH:mm:ss .SSS
}
)
。
这些都是定义好的,包括也规定好哪些用什么级别也设置好了。
为什么给我们使用的是info级别的,因为这一块写好了root默认info,如下代码:level="INFO">
ref="CONSOLE"
/
>
ref="FILE"
/>
指定配置:
给类路径下放上每个日志框架自己的配置文件即可;springboot 就不使用他默认配置的了
Logging system |
Customization |
Logback |
Logback-spring.xml,Logback-spring.groovy Logback.xml or Logback.groovy |
log4j2 |
Log4j2-spring.xml or Log4j2.xml |
JDK |
Logging-properties |
Logback.xml:直接就被日志框架识别了;
Logback-spring.xml:日志框架就不直接加载日志的配置项,由 springboot 解析日志配置,可以使用 springboot 的高级 profile 功能
=
”staging>
可以指定某段配置只在某个环境下生效
否则
No applicable action for 【springprofile】
”
student
”
class=
”
ch.qos.logback.core.consoleappender>
”
ch.qos.logback.classic.petternlayout>
”
dev
”
>
%d{yyyy-MM-dd HH:mm:ss.SSS} ----->[%thread] --->%-slevel %logger(50) - %msg%n
”
!dev
”
>
%d{yyyy-MM-dd HH:mm:ss.SSS} ==== [%thread] ==== %-slevel %logger(50) - %msg%n