Quarkus中通过配置文件开启JBoss Logging TRACE级别日志不生效问题求助
Quarkus中通过配置文件开启JBoss Logging TRACE级别日志不生效问题求助
大家好,我在Quarkus项目里用JBoss Logging Message做日志测试服务,碰到个棘手的问题想请教各位:
我先定义了这样的日志接口:
@MessageLogger(projectCode = "my-logging") public interface LoggingTestServiceLogger extends BasicLogger { LoggingTestServiceLogger ltsLogger = Logger.getMessageLogger(LoggingTestServiceLogger.class, LoggingTestServiceLogger.class.getPackageName()); @LogMessage(level = TRACE) @Message(id = 1001, value = "Received requested loglevel TRACE.") void loggingTestLevelTrace(); // 其余DEBUG、INFO等级别的日志方法已省略 }
然后在Service类里根据传入的日志级别调用对应方法:
@Override public void defineLogLevel(String logLevel) throws LoggingBusinessServicesException { switch (logLevel.toUpperCase()) { case "TRACE" -> LoggingTestServiceLogger.ltsLogger.loggingTestLevelTrace(); case "DEBUG" -> LoggingTestServiceLogger.ltsLogger.loggingTestLevelDebug(); case "INFO" -> LoggingTestServiceLogger.ltsLogger.loggingTestLevelInfo(); case "WARN" -> LoggingTestServiceLogger.ltsLogger.loggingTestLevelWarn(); case "ERROR" -> LoggingTestServiceLogger.ltsLogger.loggingTestLevelError(); case "FATAL" -> LoggingTestServiceLogger.ltsLogger.loggingTestLevelFatal(); default -> LoggingTestServiceLogger.ltsLogger.error("Invalid loglevel."); } }
现在的问题是:除了TRACE级别,其他所有日志级别都能正常输出到控制台,但TRACE日志完全没反应。我已经在application.properties里配置了:
quarkus.log.category."root.to.my.logging".level=TRACE
而且调用LoggingTestServiceLogger.ltsLogger.isTraceEnabled()时返回的是false,说明TRACE级别根本没被正确启用。这里要强调下,我的需求是必须通过配置文件开启TRACE级别,不能在代码里硬编码设置。
有没有大佬能帮忙分析下问题出在哪?麻烦指点一下,谢谢!
内容来源于stack exchange
相关产品推荐
相关产品推荐

