不使用configureAndWatch动态更改log4j日志级别

时间:2014-09-03 10:33:54

标签: tomcat log4j

我知道,configureAndWatch是在tomcat应用程序中动态更改日志级别的便捷方式。但是,通过使用log4j配置tomcat进行日志记录,还有其他方法吗?

在apache docs中,它说

  

当您要重新配置Tomcat以使用Apache log4j进行自己的日志记录时,需要执行本节中描述的步骤。如果您只想在自己的Web应用程序中使用log4j,则不需要执行这些步骤。

但我们不能使用相同的配置来记录我们的应用程序日志吗? (我想如果我把相关的jar文件和属性文件放到lib文件夹中就行了。但我还是无法把它弄好。)

1 个答案:

答案 0 :(得分:1)

您可以使用servlet以编程方式更改级别。 e.g:

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);
}