当前位置: 首页 > 知识库问答 >
问题:

log4j2未创建滚动

艾俊悟
2023-03-14

我有一个使用log4j1的应用程序。我在log4j.properties中的配置工作正常,它为日志创建文件。

我迁移到log4j2,现在没有创建文件,尽管我遵循了文档。我在这里尝试了所有不同的解决方案,但我无法实现。

这是我的应用程序中的log4j2.xml内部资源

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info" name="MyApp" packages="">
<Appenders>
    <RollingFile name="RollingFile" fileName="tmp/app.log"
                 filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
        <PatternLayout>
            <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy />
            <SizeBasedTriggeringPolicy size="250 MB"/>
        </Policies>
    </RollingFile>
</Appenders>
<Loggers>
    <Root level="info">
        <AppenderRef ref="RollingFile"/>
    </Root>
</Loggers>

这是我pom.xml的依赖

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.17.1</version>
    </dependency>

我厌倦了用完整路径更改文件的路径,在权限问题时更改文件夹。

我没有任何错误,但是当应用程序运行时,我看不到任何文件。我甚至打印了2个版本的log4j;log4j和log4j2。Log4j创建文件没问题,log4j2没有

这是我的log4j文件

log4j.properties

log4j.rootLogger=INFO, Appender1,Appender2

log4j.appender.Appender1=org.apache.log4j.RollingFileAppender
log4j.appender.Appender1.File=/tmp/info.log
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender1.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss.SSS} - logger1 - %-5p %c %m%n
log4j.appender.Appender1.Threshold=INFO
log4j.appender.Appender1.maxFileSize=10000KB
log4j.appender.Appender1.MaxBackupIndex=10

log4j.appender.Appender2=org.apache.log4j.RollingFileAppender
log4j.appender.Appender2.File=/tmp/errors.log
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.layout.ConversionPattern=%d{dd-mm-YYYY HH:mm:ss.SSS} %-5p %c %m%n
log4j.appender.Appender2.Threshold=ERROR
log4j.appender.Appender2.maxFileSize=10000KB
log4j.appender.Appender2.MaxBackupIndex=10

我是新手,有人能帮我吗?我错过了什么?

如果你需要更多信息,请告诉我。

编辑:添加整个pom文件,以防出现问题:

<?xml version="1.0" encoding="UTF-8"?>

4.0.0 org.springframework。boot spring boot starter父2.5.6 com。软件seguros 0.0.1-SNAPSHOT seguros Administration de seguros

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.mindrot</groupId>
        <artifactId>jbcrypt</artifactId>
        <version>0.4</version>
    </dependency>
    <dependency>
        <groupId>com.jfoenix</groupId>
        <artifactId>jfoenix</artifactId>
        <version>8.0.10</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/eu.hansolo.enzo/Enzo -->
    <dependency>
        <groupId>eu.hansolo.enzo</groupId>
        <artifactId>Enzo</artifactId>
        <version>0.3.6</version>
    </dependency>           
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.17.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.17.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.1.0</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

共有1个答案

程卓君
2023-03-14

您需要删除1.2.17 jar并添加log4j api和log4j核心jar。它将解决问题。

 类似资料:
  • 我有一个Log4j2.xml定义为: 据我所知,当我的日志文件达到1MB时,它应该会滚动到新的日志文件。要滚动的文件数应为30。然而,如果你看看我下面的日志,有超过40个,所有最新的都接近30MB。当前日志文件MLMServices。日志记录了从2016年4月13日至今的条目。事实上,最后几个日志文件是MLMServices-2016-05-24-4。日志,MLMServices-2016-05-

  • 有办法得到滚动文件名吗?我写了自定义插件,信号文件滚动,但我需要得到滚动文件的文件名。我的插件从java代码发出信号: 自定义插件:

  • 我阅读了log4j2的官方文档,并得到了一个关于RollingFileAppender的问题。 文件上是这么说的: 下面是一个示例配置,它使用基于时间和大小的触发策略的RollingFileAppender,将在同一天(1-100)创建多达100个存档,这些存档存储在基于当前年份和月份的目录中,并将压缩每个存档使用gzip并将每小时滚动一次。在每次翻转期间,此配置将删除与"/app.log.gz"

  • 我们最近已经将log4j2-beta9迁移到log4j2-2.0版本。我们正面临滚动文件的问题。 第一个问题:滚动文件没有压缩,只保留了. log文件。 第二个问题:活动文件没有被清除。日志不断被添加到同一个文件中,从而增加了文件大小。 请找到我的log4j2。xml:

  • 我有将日志保存到文件配置,但日志会附加到现有内容。我想创建总是新的文件。我怎么能那样做? 我的log4j2.xml:

  • 我在研究这个问题时发现的几乎所有内容都是针对Log4J1.x的,并讨论了一个似乎在2.0中不存在的datePattern参数。 下面是我的log4j2.xml文件: 我正在将信息和以上内容写入日志文件,并将调试写入控制台(目前)。这些文件被写得很好,但它们似乎每天都在滚动(这似乎是默认的)。