设置log4j2日志文件的相对路径

问题描述 投票:0回答:2

我正在使用log4j2通过这种配置进行日志记录:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
    <Appenders>
        <Console name="LogToConsole" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
        <File name="LogToFile" fileName="tomcat.log">
            <PatternLayout>
                <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
            </PatternLayout>
        </File>
    </Appenders>
    <Loggers>
        <Logger name="com.say" level="info" additivity="false">
            <AppenderRef ref="LogToFile"/>
            <AppenderRef ref="LogToConsole"/>
        </Logger>
        <Logger name="org.springframework.boot" level="error" additivity="false">
            <AppenderRef ref="LogToConsole"/>
        </Logger>
        <Root level="error">
            <AppenderRef ref="LogToFile"/>
            <AppenderRef ref="LogToConsole"/>
        </Root>
    </Loggers>
</Configuration>

您可以看到与定义将写入日志的文件有关的行是:

<File name="LogToFile" fileName="tomcat.log">

并且与此同时,我在项目文件夹中找不到任何日志。当我使用绝对路径时,我成功生成了日志文件,但是我希望它基于项目路径,并且我已经看到了该路径的示例,例如:logs/app.log,所以我想可以设置它,我只是不确定为什么它对我不起作用。

这是在Ubuntu 16.04上运行的spring boot项目。

java spring log4j log4j2
2个回答
0
投票

如果仅指定文件名,则应在项目根目录中创建.log文件。例如,如果项目根目录的基础是c:/mycode/myproject,则应在myproject目录中创建日志文件。


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.