Java 动态更改在tomcat上运行的web应用程序的登录级别

Java 动态更改在tomcat上运行的web应用程序的登录级别,java,tomcat,slf4j,logback,Java,Tomcat,Slf4j,Logback,在Tomcat7上运行的java web应用程序的resources文件夹中有一个logback.xml。有没有办法在应用程序运行时动态更改某类应用程序的调试级别 标准的做法是从CLI运行一个普通的java jar,只需使用vim编辑logback.xml,然后更新日志。当我尝试使用tomcat时,这是否可能?id似乎不起作用 有什么更好的方法吗?您可以像这是您的应用程序一样尝试更改级别: Logger root = (Logger)LoggerFactory.getLogger(Logger.

在Tomcat7上运行的java web应用程序的resources文件夹中有一个
logback.xml
。有没有办法在应用程序运行时动态更改某类应用程序的调试级别

标准的做法是从CLI运行一个普通的java jar,只需使用vim编辑
logback.xml
,然后更新日志。当我尝试使用tomcat时,这是否可能?id似乎不起作用


有什么更好的方法吗?

您可以像这是您的应用程序一样尝试更改级别:

Logger root = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.setLevel(Level.INFO);
用于将包名称指定为记录器名称

LoggerContext loggerContext = (LoggerContext)LoggerFactory.getILoggerFactory();
Logger myPackageLogger = loggerContext.getLogger("com.mypackage");
myPackageLogger.setLevel(Level.INFO);

您可以尝试像这样更改应用程序的级别:

Logger root = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.setLevel(Level.INFO);
用于将包名称指定为记录器名称

LoggerContext loggerContext = (LoggerContext)LoggerFactory.getILoggerFactory();
Logger myPackageLogger = loggerContext.getLogger("com.mypackage");
myPackageLogger.setLevel(Level.INFO);

您可以通过编程方式配置logback,这是最简单的方法。您能给我指一些教程或代码来解释这一点吗?这应该是您需要的:您可以通过编程方式配置logback,这是最简单的方法。你能给我指一些教程或代码来解释这一点吗?这应该是你需要的:有没有一种方法可以选择特定的软件包,因为我的logback给了我这种能力?为特定类甚至包进行更改。这样做了。很好的解决方案。谢谢不幸的是,它似乎根本不起作用。我有一个spring rest控制器和这个导入:
import org.slf4j.Logger;导入org.slf4j.LoggerFactory和I使用
ch.qos.logback.classic.Logger root=(ch.qos.logback.classic.Logger)LoggerFactory.getLogger(Logger.root\u Logger\u NAME)创建一个方法;setLevel(ch.qos.logback.classic.Level.toLevel(arg)),但没有效果,从logback.xnl开始,使用DEBUG,对信息的任何更改都没有效果,系统保持在DEBUG状态。有没有方法选择特定的包,因为我的logback提供了此功能?为特定类甚至包进行更改。这样做了。很好的解决方案。谢谢不幸的是,它似乎根本不起作用。我有一个spring rest控制器和这个导入:
import org.slf4j.Logger;导入org.slf4j.LoggerFactory和I使用
ch.qos.logback.classic.Logger root=(ch.qos.logback.classic.Logger)LoggerFactory.getLogger(Logger.root\u Logger\u NAME)创建一个方法;setLevel(ch.qos.logback.classic.Level.toLevel(arg)),但没有效果,从logback.xnl开始调试,对信息的更改没有效果,系统保持在调试状态。