簡體   English   中英

Java程序使用Windows Task Scheduler啟動,但未在批處理文件夾中創建日志文件

[英]Java program started using windows task scheduler but not creating log files in batch file folder

我已經使用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 Task Scheduler啟動該文件時,它既不在批處理文件文件夾中也不在計算機的任何其他位置中創建日志文件。

還有一件事,該任務由其他用戶啟動,其他任何人之前都遇到過此問題,解決方案是在log4.properties中提供文件夾的物理路徑?

您將在Task Scheduler中遇到路徑和類路徑問題。 設置為執行計划任務的用戶可能具有不同的PATH和類路徑定義。 設置為執行計划任務的用戶具有用戶權限,這可能會影響您的批處理執行。 您的批處理文件必須設置所有內容才能按預期運行。

希望這會有所幫助。

問候,揚

當任務計划程序執行.bat文件以啟動我的小型Java應用程序時,我遇到了同樣的問題。 根本不會創建log4j日志文件。 但是,當我從命令行運行批處理文件時,一切正常。 正如Rishman所建議的那樣,PATH / classpath必須具有某些內容。

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

在此處輸入圖片說明

這將在批處理文件所在的位置創建一個.log文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM