【问题标题】:Log4j loging to both file and consoleLog4j 记录到文件和控制台
【发布时间】:2016-03-21 06:21:18
【问题描述】:

我正在使用 Log4j/log4j extras 来记录日志。这里是配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
xmlns:log4j='http://jakarta.apache.org/log4j/'>

<appender name="fileAppender" class="org.apache.log4j.rolling.RollingFileAppender">
    <param name="append" value="true" />

    <rollingPolicy class="org.apache.log4j.rolling.FixedWindowRollingPolicy">
      <param name="minIndex" value="1"/>
      <param name="maxIndex" value="10"/>
      <param name="FileNamePattern" value="/appserver/Logs/Logs1/log.%i.gz"/>

</rollingPolicy>
 <triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
    <param name="maxFileSize" value="1000000000"/><!-- 1GB -->
</triggeringPolicy>
    <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{dd MMM yy HH:mm:ss:SSS}] [%p] - [%t %l]- %m%n" />
    </layout>

</appender>
<!--disable logging from the library Jars -->
<category name="org.apache.velocity">
    <priority value="off" />
</category>

<category name="com.someting.www">
    <priority value="off" />
</category>
<category name="org.apache">
    <priority value="off" />
</category>

<root>
    <level value="DEBUG" />
    <appender-ref ref="fileAppender" />
</root>
</log4j:configuration>

我希望日志仅出现在文件中,但我将日志写入文件和控制台中。 请提出更改建议以获得预期结果。

【问题讨论】:

    标签: java logging log4j rollingfileappender consoleappender


    【解决方案1】:

    我在我的新项目中使用 log4j2。我正在将日志写入文件和控制台。 这是我的 log4j2.xml:

    <properties>
        <property name="logPath">/opt/weego_main/logs</property>
    </properties>
    
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n"/>
        </Console>
    
        <RollingFile name="RollingFile" filename="${logPath}/weego_main.log"
                     filepattern="${logPath}/$${date:yyyy-MM}/weego_main-%d{yyyy-MM-dd}-%i.log.gz">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="20 MB"/>
            </Policies>
        </RollingFile>
    </Appenders>
    
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="RollingFile"/>
        </Root>
    </Loggers>
    

    我认为您应该创建名为 Console 的 Appenders 节点并将其添加到 Root 节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      相关资源
      最近更新 更多