我正在使用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项目。
如果仅指定文件名,则应在项目根目录中创建.log
文件。例如,如果项目根目录的基础是c:/mycode/myproject
,则应在myproject
目录中创建日志文件。