我可以使用以下代码以编程方式在应用程序上设置日志记录级别,但是也可以在包级别(例如com.somepackage。*)上执行此操作,我希望该级别仅为ERROR而不是DEBUG或INFO上说的包装?

// Sets the logging level to INFO
LoggerContext loggerContext = (LoggerContext)LoggerFactory.getILoggerFactory();
Logger rootLogger = loggerContext.getLogger(Logger.ROOT_LOGGER_NAME);
rootLogger.setLevel(Level.INFO);

但是我似乎找不到找到在软件包级别设置它的方法...

最佳答案

您应该将包名称设置为logger-name

// Sets the package level to INFO
LoggerContext loggerContext = (LoggerContext)LoggerFactory.getILoggerFactory();
Logger rootLogger = loggerContext.getLogger("com.somepackage");
rootLogger.setLevel(Level.INFO);

您应该能够使包名称更优雅,但是基本上就是这样。
这遵循Logger上下文的树状层次结构:
Logger Context

关于java - sl4j和logback-是否可以以编程方式设置程序包的日志记录级别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21368757/

10-11 04:54