java - Spring 中的动态 Apache log4j

标签 java spring spring-mvc log4j

我有一个使用 Java 7 在 Tomcat 7 上运行的 Spring 3.1 MVC Web 应用程序。我现在设置了一个非常简单的日志记录。我正在使用如下所示的 logging.xml 配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
        <param name="Target" value="System.out" /> 
        <layout class="org.apache.log4j.PatternLayout"> 
            <param name="ConversionPattern" value="%-5p %c{1} - %m%n" /> 
        </layout> 
    </appender>

    <logger name="org.springframework">
        <level value="warn" />
        <appender-ref ref="console" /> 
    </logger>

    <logger name="org.apache">
        <level value="warn" />
        <appender-ref ref="console" /> 
    </logger>

    <logger name="org.apache.jasper">
        <level value="warn" />
        <appender-ref ref="console" /> 
    </logger>

    <logger name="org.apache.catalina">
        <level value="info" />
        <appender-ref ref="console" /> 
    </logger>

    <root> 
        <priority value ="info" /> 
        <appender-ref ref="console" /> 
    </root>
</log4j:configuration>

在我的代码中,我这样做:

Logger log = LoggerFactory.getLogget (ClassName.class);
log.info ("Info Message");

我现在想做的是能够动态更改日志记录级别,而无需重新启动 Tomcat 容器。我正在寻找可以放入 MVC Controller 并在我的 Web 应用程序中向某些用户公开的 Java 代码。我知道那里有很多东西,我正在寻找您认为对我有用的链接。正如你所看到的,我的日志记录非常简单,我不完全理解这些东西,所以我不确定什么对我有用,甚至从哪里开始。我感谢任何帮助。

最佳答案

也许是 this thread 中描述的解决方案是您要找的人吗?

关于java - Spring 中的动态 Apache log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11108883/

相关文章:

java - 将 Junit 与 spring 一起使用

java - Spring 网络应用程序

java - 当子类在Spring MVC中扩展它时,我们可以从父类路径调用@RequestMapping吗?

java - 方法重载和选择最具体的类型

java - 在服务器上使用 Smack 时如何避免 HeadlessException?

java - 使用 yyyy-MM-dd hh :mm:ss format 解析的日期出现意外差异

java - 如何将 API 访问信息输出到记录器文件中?

java - Hessian:Java 客户端无法连接到 php 服务器

java - 无法使 messageSource 在 Pojo 类中工作

java - Spring MVC 无法在 CloudFoundry 上运行