【发布时间】:2021-04-26 22:12:16
【问题描述】:
在我的应用中,我使用的是 slf4j java logger。
<slf4j.version>1.7.10</slf4j.version>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
哪个有配置
<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="30 seconds">
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<appender name="FILE-ERRORS" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
<file>/logs/errors.log</file>
<append>true</append>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>errors%i.log</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>3</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>100MB</maxFileSize>
</triggeringPolicy>
</appender>
<logger name="com.company" level="DEBUG"/>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
示例代码
public class SomeClass {
private static final Logger LOGGER = getLogger(SomeClass.class);
private void process() {
LOGGER.trace("Processing...");
if (!Strings.isEmpty("empty")) {
LOGGER.debug("not empty");
LOGGER.info("not empty");
LOGGER.error("not empty");
LOGGER.warn("not empty");
execute("action");
}
}
}
我试图找到一些方法来显示 TRACE 日志级别,但在运行容器上。实际上,如果我想只显示日志类型。
docker logs -f [container-name] --tail 500
然后我可以在没有 TRACE 的情况下看到 INFO、ERROR、WARN、DEBUG 级别
我想知道是否存在一些工具或命令来显示 TRACE 级别?例如。
docker logs -f [container-name] --tail 500 | cmdTraceLevelTool
我知道如何启用 TRACE 级别,使用 logback-spring.xml 或 application.properties 文件,但我都知道如何永久启用它,并且它们已经编码。我正在从控制台,在运行时,在工作的应用程序上寻找一些东西。 我想有一个选择,全部或不使用 TRACE。有可能吗?
【问题讨论】:
-
如果您的应用程序支持 JMX,您应该能够向您的应用程序发送命令,并且可以通过这种方式更改调试级别。 IE。如果您有一个 spring-boot 应用程序并使用 spring-boot-admin,那么一旦安全配置正确完成,就有一种相当简单的方法来更改通过 spring-boot-admin 的 Web 界面生成的日志级别。这应该会给你足够的指导来做进一步的研究