gpt4 book ai didi

linux - 当应用程序通过 Linux 中的 crontab 运行时,Log4j2 日志记录不起作用

转载 作者:太空狗 更新时间:2023-10-29 12:01:53 26 4
gpt4 key购买 nike

我有一个 java 应用程序,我在其中实现了日志记录。这是文件

log4j2.xml

<configuration xmlns:xi="http://www.w3.org/2001/XInclude" status="WARN">
<xi:include href="log4j-xinclude-appenders.xml" />
<xi:include href="log4j-xinclude-loggers.xml" />
</configuration>

log4j-xinclude-appenders.xml

<appenders>

<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>

<Routing name="RoutingAppender">
<Routes pattern="${ctx:logFileName}">
<Route>
<RollingFile name="Rolling-${ctx:logFileName}"
fileName="logs/${ctx:logFileName}.log"
filePattern="logs/${ctx:logFileName}-%d{MM-dd-yyyy}-%i.log">
<PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %c{36} %l: %msg%n"/>
<SizeBasedTriggeringPolicy size="5 MB" />
<DefaultRolloverStrategy min="1" max="4" />
</RollingFile>
</Route>

<Route ref="Console" key="${ctx:logFileName}"/>
</Routes>
</Routing>

</appenders>

log4j-xinclude-loggers.xml:

<loggers>

<root level="warn">
<appender-ref ref="Console" />
</root>

<logger name="abc.def.ghi.regulators" level="info" additivity="false">
<appender-ref ref="RoutingAppender" />
</logger>

<logger name="org.apache" level="info" />
<logger name="org.springframework" level="info" />
</loggers>

现在我像这样在 Linux 中设置 cron 作业

*/15 9-23 * * * /usr/bin/java -jar /pathToApplication/application.jar arg1

现在的问题是如果我手动运行这个 jar 那么一切正常。就像我去应用程序路径并执行命令

java -jar application.jar arg1

但是当这个命令通过 cronjob 运行时,就没有日志记录了。尽管应用程序运行良好,但我收到了电子邮件并顺利运行,但没有日志记录。

我想知道为什么当我手动运行它时会有日志记录,但当通过 cron 作业运行时却没有日志记录。

我正在我的应用程序中创建文件、写入文件、从文件中读取一切正常,除了在使用 cron 作业运行时进行日志记录。

如何解决这个日志记录问题?这是权限问题吗?如果是,那么其他文件相关任务的执行情况如何(创建、读取、写入)。 ?

谢谢

最佳答案

问题可能出在工作目录。 Crontab 以 crontab 用户的主目录 作为工作目录 执行任务。你应该像这样修复你的 crontab smth

*/15 9-23 * * * cd /pathToApplication/ && /usr/bin/java -jar /pathToApplication/application.jar arg1

关于linux - 当应用程序通过 Linux 中的 crontab 运行时,Log4j2 日志记录不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32120259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com