java - log4j.xml 配置仅用于调试

标签 java log4j

我是 log4j 的新手,只是想知道是否有人可以帮助我完成我目前猜测的配置。我正在尝试测试它,但它似乎不起作用。

<?xml version="1.0" encoding="UTF-8" ?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

    <appender name="debugAppender" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="/usr/local/apache-tomcat-7.0.35/logs/sample.log"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p  [%c{1}] %m %n" />
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="levelMax" value="DEBUG" />
        </filter>      
    </appender>

    <logger name="com.webservice" additivity="false">
        <priority value="DEBUG" />
        <appender-ref ref="debugAppender" />
    </logger> 

  <root> 
    <priority value="ERROR" />
    <appender-ref ref="fileAppender" /> 
  </root> 

</log4j:configuration>

我在这里尝试做的是将根记录器设置为“错误”,这样除非出现错误,否则它不会拾取任何内容。但后来我有一个名为 com.webservice 的记录器,我想从我的包(而不是其他库)中获取 DEBUG 语句,仅用于开发目的。 当我投入生产时,我想将 com.webservice 优先级更改回 INFO,以便它不会获取任何日志记录。

我是否正确设置了该文件?

谢谢

最佳答案

尝试将log4j:configuration节点中的debug属性设置为true

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">

它在读取配置文件并用于配置 log4j 环境时打印出信息。您可能会获得更多详细信息来解决您的问题。

关于java - log4j.xml 配置仅用于调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25638994/

相关文章:

java - JFreeChart 在实际值之外添加趋势线?

java - 我 thymeleaf 如何使用页面参数作为属性键?

java - Log4j - RollingRandomAccessFile 中的无效元素或属性

linux - Linux 中的 log4j xml 配置

configuration - 使用库配置 SLF4J 以使用 LOG4J 配置

java - Socket Programming -Java - 许多客户一个套接字问题

使用 TDB 的 apache Jena 中的 Java OutOfMemoryError

java - 如何从 xml 创建对象的 arrayList?

java - Log4j 日志配置

java - 用于 Logback 的远程服务器 Appender