RollingFileAppender如何与log4j2一起工作?[英] How does RollingFileAppender work with log4j2?

本文是小编为大家收集整理的关于RollingFileAppender如何与log4j2一起工作?的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我在普通log4j上使用RollingFileAppender.现在我要切换到log4j2,无法让Appender工作.

以下File appender按预期工作.但是从未创建RollingFile的日志记录文件.为什么?

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <File name="FILE" fileName="c:/logs.log">
            <PatternLayout pattern="%d %p %c: %m%n" />
        </File>

        <RollingFile name="ROLLING" fileName="c:/logsroll.log">
            <PatternLayout pattern="%d %p %c: %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="0.001 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="FILE" />
            <AppenderRef ref="ROLLING" />
        </Root>
    </Loggers>
</Configuration>

推荐答案

RollingFile标签缺少filePattern属性.

<RollingFile name="ROLLING" 
             fileName="c:/logsroll.log"
             filePattern="c:/logsroll-%i.log">

其他推荐答案

我使用了Log4J2版本2.0,在某些情况下,如果您不设置任何文件模式中的任何日期,在这种情况下,它会引发错误,在这种情况下,您可以使用以下内容:

:

      <RollingFile name="MyFile" fileName="d:/log/bsi/admin/total/totalLog.log"
            filePattern="d:/log/totalLog-%d{MM-dd-yyyy}-%i.log">
            <PatternLayout>
                <Pattern>%d %p %c [%t] %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="1 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="2000"/>
        </RollingFile>

本文地址:https://www.itbaoku.cn/post/1575183.html

问题描述

I'm use to RollingFileAppender on normal log4j. Now I'm switching to log4j2, and cannot get the appender to work.

The File appender below works as expected. But the logging file for RollingFile is never created. Why?

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <File name="FILE" fileName="c:/logs.log">
            <PatternLayout pattern="%d %p %c: %m%n" />
        </File>

        <RollingFile name="ROLLING" fileName="c:/logsroll.log">
            <PatternLayout pattern="%d %p %c: %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="0.001 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="FILE" />
            <AppenderRef ref="ROLLING" />
        </Root>
    </Loggers>
</Configuration>

推荐答案

The RollingFile tag is missing a filePattern attribute.

<RollingFile name="ROLLING" 
             fileName="c:/logsroll.log"
             filePattern="c:/logsroll-%i.log">

其他推荐答案

I used log4j2 version 2.0, in some cases it throws error if you do not set any date in file pattern, in this case you can use some thing like below:

      <RollingFile name="MyFile" fileName="d:/log/bsi/admin/total/totalLog.log"
            filePattern="d:/log/totalLog-%d{MM-dd-yyyy}-%i.log">
            <PatternLayout>
                <Pattern>%d %p %c [%t] %m%n</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="1 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="2000"/>
        </RollingFile>