Arthas 使用 logger 不停机更新 Spring Boot logback 日志等级
Arthas logback 诊断工具 About 4,087 words前提
使用java -jar arthas-boot.jar
并attach
到运行中的Spring Boot
服务。
logback 部分配置及部分代码
logback
部分配置
<root level="INFO">
<appender-ref ref="FILE_APPENDER_ASYNC"/>
<appender-ref ref="CONSOLE"/>
</root>
<logger name="com.example" level="INFO"/>
部分代码
package com.example.arthas.task;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.Random;
@Slf4j
@Component
public class Task1 {
@Scheduled(fixedRate = 3000)
public void task1() throws InterruptedException {
log.debug("task111 fixedRate now#{}", LocalDateTime.now());
Random random = new Random();
int i = random.nextInt(10);
Thread.sleep(i * 1000);
}
}
查看当前运行时 logback 配置
查看 root 配置
logger
默认logger
命令输出的是root
的信息。
[arthas@22224]$ logger
name ROOT
class ch.qos.logback.classic.Logger
classLoader sun.misc.Launcher$AppClassLoader@18b4aac2
classLoaderHash 18b4aac2
level INFO
effectiveLevel INFO
additivity true
codeSource file:/D:/Dev/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
appenders name FILE_APPENDER
class ch.qos.logback.core.rolling.RollingFileAppender
classLoader sun.misc.Launcher$AppClassLoader@18b4aac2
classLoaderHash 18b4aac2
file logs/log-info.log
name FILE_APPENDER_ASYNC
class ch.qos.logback.classic.AsyncAppender
classLoader sun.misc.Launcher$AppClassLoader@18b4aac2
classLoaderHash 18b4aac2
blocking false
appenderRef [FILE_APPENDER]
name CONSOLE
class ch.qos.logback.core.ConsoleAppender
classLoader sun.misc.Launcher$AppClassLoader@18b4aac2
classLoaderHash 18b4aac2
target System.out
查看指定包配置
logger -n com.example
输出
[arthas@26376]$ logger -n com.example
name com.example
class ch.qos.logback.classic.Logger
classLoader sun.misc.Launcher$AppClassLoader@18b4aac2
classLoaderHash 18b4aac2
level INFO
effectiveLevel INFO
additivity true
codeSource file:/D:/Dev/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
查看指定类配置
logger -n com.example.arthas.task.Task1
输出
[arthas@26376]$ logger -n com.example.arthas.task.Task1
name com.example.arthas.task.Task1
class ch.qos.logback.classic.Logger
classLoader sun.misc.Launcher$AppClassLoader@18b4aac2
classLoaderHash 18b4aac2
level null
effectiveLevel INFO
additivity true
codeSource file:/D:/Dev/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
更改 root 日志等级
更改了root
的level
使得第三方依赖的日志也将输出。
logger --name ROOT --level debug
更改指定包的日志等级
更改com.example
包的日志等级为debug
(启动时logback
配置的是info
)。
-n
和--name
是相同指令。
logger -n com.example --level debug
更改指定类的日志等级
logger -n com.example.arthas.task.Task1 --level debug
备注
即使Arthas
停止退出了,但日志等级将会一直是更改过后的。
完整版下载地址
Views: 4,961 · Posted: 2021-04-25
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...