我的配置是标准的
logging:
# The default level of all loggers. Can be OFF, ERROR, WARN, INFO, DEBUG, TRACE, or ALL.
level: INFO
# Logger-specific levels.
loggers:
# Sets the level for 'com.example.app' to DEBUG.
com.example.app: DEBUG
# Redirects SQL logs to a separate file
org.hibernate.SQL:
level: DEBUG我希望将所有记录器的默认日志级别更改为DEBUG。我尝试了以下几种方法,但没有任何效果(假设管理端口是1234):
curl -X POST -d "logger=all&level=DEBUG" localhost:1234/tasks/log-level
curl -X POST -d "level=DEBUG" localhost:1234/tasks/log-level
curl -X POST -d "logger=*&level=DEBUG" localhost:1234/tasks/log-level当我使用-vv运行这些程序(例如,logger=all )时,我看到了Configured logging level for all to DEBUG,但是跟踪日志没有改变,仍然是信息。当然,如果我更改配置并将顶层设置为DEBUG,并重新启动,我将得到调试级别。
什么命令?
发布于 2017-09-19 15:13:19
我已经为log-level任务设置了log-level,其主要逻辑实现如下:
for (String loggerName : loggerNames) {
((LoggerContext) loggerContext).getLogger(loggerName).setLevel(loggerLevel);
output.println(String.format("Configured logging level for %s to %s", loggerName, loggerLevel));
output.flush();
}因此,它的实现方式基于记录器的名称,知道了这一点,我进入了org.slf4j.Logger接口的源代码,并找到了这个字段:
String ROOT_LOGGER_NAME = "ROOT";做这样的POST为我解决了问题:
curl -X POST -d "logger=ROOT&level=DEBUG" localhost:8081/tasks/log-levelhttps://stackoverflow.com/questions/45243873
复制相似问题