tomcat - 无需 configureAndWatch 动态更改 log4j 日志级别

标签 tomcat log4j

我知道,configureAndWatch 是一种在 tomcat 应用程序中动态更改日志级别的简便方法。但是除了这样做之外,还有另一种方法可以通过配置 tomcat 使用 log4j 进行日志记录吗?

在 Apache 中 docs , 它说

The steps described in this section are needed when you want to reconfigure Tomcat to use Apache log4j for its own logging. These steps are not needed if you just want to use log4j in your own web application.

但是我们不能使用相同的配置来记录我们的应用程序日志吗? (我认为如果我将相关的 jars 和属性文件放入 lib 文件夹中就可以了。但我还不能正确处理。)

最佳答案

您可以使用 servlet 以编程方式更改级别。例如:

String logLevel = request.getParameter("level");
Logger root = Logger.getRootLogger();

if ("DEBUG".equalsIgnoreCase(level)) {
    root.setLevel(Level.DEBUG);
} else if ("INFO".equalsIgnoreCase(level)) {
    root.setLevel(Level.INFO);
} else if ("WARN".equalsIgnoreCase(level)) {
    root.setLevel(Level.WARN);
} else if ("ERROR".equalsIgnoreCase(level)) {
    root.setLevel(Level.ERROR);
} else if ("FATAL".equalsIgnoreCase(level)) {
    root.setLevel(Level.FATAL);
}

关于tomcat - 无需 configureAndWatch 动态更改 log4j 日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25642079/

相关文章:

tomcat - 配置 grails.serverURL 获取动态端口

java.lang.UnsatisfiedLinkError : Native Library/usr/local/xuggler/lib/libxuggle-xuggler. so.3.4.1012 已经加载到另一个类加载器中

java - 从浏览器下载文件的 Tomcat 8 问题

java - 如何在 spring 的 xmls 中定义变量以在 log4j.properties 中使用

java - 是否可以使用 Log4j 为自定义输出创建单独的日志输出文件

java - 将 log4j 版本更新到 1.1.5 后未创建日志文件

java - log4j 的自定义布局

java - 当我的 HTML 文件位于 WebContent 文件夹中时,为什么在 Tomcat 7.0.70 上会出现错误 404(请求的资源不可用。)?

java - 禁用 springframework 日志记录

java - 不同类的不同日志级别