首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标准Java项目的log4j2配置

标准Java项目的log4j2配置
EN

Stack Overflow用户
提问于 2019-01-10 17:40:20
回答 1查看 269关注 0票数 0

我正在尝试在一个标准的Java应用程序中设置log4j2。

我在网上登录了很多教程,但它们都是基于使用Maven项目的,因为我使用的是标准的Vanilla Java,使用的是SDK 1.8。该应用程序没有将主类作为起点,因为该应用程序是执行构建的.jar的另一个应用程序的插件。

我有一个符合我需要的日志文件,并且相信我已经在代码中正确地设置了Logger的实例。

我在src文件夹中找到的配置文件。项目结构如下:

代码语言:javascript
复制
Project Root
    - src
        - UI
        - Errors
            - error classes go here
        - Reports
            - report classes go here
        - Utilities
            - utility classes go here
        - CapitalReportsApplication - (This is the starting point of the application)
        - resources
            - log4j2.xml

log4j2.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <File name="MyFile" fileName="all.log" immediateFlush="false" append="false">
            <PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </File>
    </Appenders>
    <Loggers>
        <Root level="debug">
            <AppenderRef ref="MyFile"/>
        </Root>
    </Loggers>
</Configuration>

类文件记录器初始化

代码语言:javascript
复制
private static Logger log = LogManager.getLogger(CapitalReportsApplication.class.getName());
log.info("This is a message");

当从客户端应用程序运行插件时,我得到了所有预期的结果,但没有日志文件。

EN

回答 1

Stack Overflow用户

发布于 2019-01-10 17:57:33

为了达到这个目的,你应该有类似的东西。例如,您不需要设置附加器的类型。

代码语言:javascript
复制
<appender name="rollingFile" class="org.apache.log4j.RollingFileAppender">
    <param name="file" value="${LOG_DIR}/application.log" />
    <param name="MaxFileSize" value="10MB" />
    <param name="MaxBackupIndex" value="5" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n" />
        </layout>
</appender>

属性可能类似于(log4j.properties):

代码语言:javascript
复制
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.File=${LOG_DIR}/application.log
log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n
log4j.appender.rollingFile.MaxFileSize=10MB
log4j.appender.rollingFile.MaxBackupIndex=5
log4j.appender.rollingFile.append=true

log4j.rootCategory=ALL, rollingFile

log4j2.xml必须在资源文件夹中,请检查

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54125767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档