缺少日志文件

缺少日志文件

我编写了一个 .jar 文件,该文件应该每天运行一次,与 Google App Engine 进行交互。当我从计算机上运行它时,它运行良好并创建一个详细说明一些统计信息的日志文件。我将其转移到 Raspberry Pi 上,它通过 crontab 运行。

第一次运行它时,系统日志中出现权限被拒绝的情况。我读到使用“sudo crontab -e”可以修复该问题。现在我不再收到错误,但我的日志文件没有出现。

以下是创建日志文件的代码部分:

PrintWriter writer = new PrintWriter("log" + format.format(date) + ".txt");
writer.println("Total Themes: " + numThemes + "\r\n");
writer.println("Active Themes: " + numActiveThemes + "\r\n");
writer.println("Inactive Themes: " + numInactiveThemes + "\r\n");
writer.println("Total Sales: " + numSales + "\r\n");
writer.println("Total Price Changes: " + numPriceChanges + "\r\n");
writer.println("Total Time: " + seconds + " seconds" + "\r\n");
writer.close();

计划任务:

0 2 * * * java -jar /mnt/data/scripts/updater_pricing.jar

我遗漏了有关 Windows 切换的哪些内容,从而阻止了日志文件的创建?

编辑:我可以.jar手动运行文件(使用sudo java -r /mnt/data/scripts/updater_pricing.jar),然后创建日志文件。但不能使用 cron。

编辑2:/etc/log/syslog有:

Feb  8 21:46:01 raspberrypi /USR/SBIN/CRON[10841]: (root) CMD (java -jar /mnt/data/scripts/updater_pricing.jar

答案1

搞清楚了。之所以发送这封电子邮件,是因为我有几行System.out.println()

日志文件正在创建,但位置不对。我不得不将原始文件行修改为:

PrintWriter writer = new PrintWriter("/mnt/data/scripts/" + "log" + format.format(date) + ".txt");

相关内容