【问题标题】:Java program started using windows task scheduler but not creating log files in batch file folderJava 程序开始使用 windows 任务计划程序但未在批处理文件夹中创建日志文件
【发布时间】:2014-06-28 07:20:59
【问题描述】:

我已经使用 Windows 任务调度程序启动了 java 程序(带有批处理文件脚本)。在我的 log4.properties 中

log4j.rootLogger=ALL, file1
log4j.appender.file1=org.apache.log4j.RollingFileAppender
log4j.appender.file1.Threshold=INFO
log4j.appender.file1.File=personal-info.log 
log4j.appender.file1.MaxFileSize=10240KB
log4j.appender.file1.MaxBackupIndex=10
log4j.appender.file1.layout=org.apache.log4j.PatternLayout
log4j.appender.file1.layout.ConversionPattern = %d{ISO8601} %-5p [%t] [%F:%L] : %m%n
log4j.logger.com.personal=INFO,  file1
log4j.additivity.com.personal=false
log4j.additivity.org.springframework=false
log4j.additivity.org.jboss=false
log4j.additivity.org.hibernate=false
log4j.additivity.org.dozer=false

当我从命令行启动批处理文件时,该文件会在批处理文件的同一文件夹中创建,但是当我从 Windows 任务计划程序启动它时,它不会在批处理文件夹或其他任何地方创建日志文件机器。

还有一件事,这个任务是由其他用户启动的,之前有没有其他人遇到过这个问题,解决方法是在 log4.properties 中提供文件夹的物理路径?

【问题讨论】:

    标签: java windows batch-file scheduler


    【解决方案1】:

    当任务计划程序执行 .bat 文件以启动我的小型 Java 应用程序时,我遇到了同样的问题。根本没有创建 log4j 日志文件。但是当我从命令行运行批处理文件时,一切正常。正如 rishman 建议的那样,PATH/classpath 必须有一些东西。

    但是,您可以将批处理文件生成的日志保存到文件中:

    这将在批处理文件所在的位置创建一个 .log 文件。

    【讨论】:

      【解决方案2】:

      您将遇到任务计划程序的路径和类路径问题。 设置为执行计划任务的用户可能具有不同的 PATH 和类路径定义。 设置为执行计划任务的用户具有可能影响批处理执行的用户权限。 您的批处理文件必须设置所有内容才能按预期运行。

      希望这会有所帮助。

      问候, 亚恩

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-19
        • 2014-03-15
        • 2022-12-14
        • 1970-01-01
        • 1970-01-01
        • 2010-11-04
        • 2014-12-12
        • 2018-11-05
        相关资源
        最近更新 更多