Bas*_*sit 2 linux cron java-8 log4j2
我有一个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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
现在我在 Linux 中设置 cron 作业,如下所示
*/15 9-23 * * * /usr/bin/java -jar /pathToApplication/application.jar arg1
Run Code Online (Sandbox Code Playgroud)
现在的问题是,如果我手动运行这个罐子,那么一切都会正常。就像我转到应用程序路径并执行命令一样
java -jar application.jar arg1
Run Code Online (Sandbox Code Playgroud)
但是当这个命令通过 cronjob 运行时,就没有日志记录。尽管应用程序运行良好,但我收到电子邮件并运行顺利,但没有日志记录。
我想知道为什么当我手动运行它时会有日志记录,但当通过 cron 作业运行时则没有日志记录。
我正在我的应用程序中创建文件、写入文件、从文件中读取,除了使用 cron 作业运行时进行日志记录外,一切正常。
我该如何解决这个日志记录问题?这是权限问题吗?如果是,那么其他文件相关任务的执行情况如何(创建、读取、写入)。?
谢谢
小智 5
问题可能出在工作目录上。crontab 以crontab 用户的主目录作为工作目录来执行任务。你应该像这样修复你的 crontab smth
*/15 9-23 * * * cd /pathToApplication/ && /usr/bin/java -jar /pathToApplication/application.jar arg1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2084 次 |
| 最近记录: |