为什么log4j不能生成备份文件?

为什么log4j不能生成备份文件?,第1张

概述为什么log4j不能生成备份文件?

我在windows 2003服务器R2上运行一些Java进程我使用的是Apache log4j-1.2.8。 我的所有进程通过一个jar文件调用不同的参数示例

java -jar process.jar one java -jar process.jar two java -jar process.jar three

我configurationlog4j.propertIEs后面

#=============================== # Declare Variables #=============================== logpath=${user.dir}/log/ simple_pattern=%d{yyyy-MM-dd HH:mm:ss.SSS}%-5x - %m%n backup_pattern='.'yyyy-MM-dd #=============================== # PROCESS & STANDARD OUTPUT #=============================== log4j.logger.process.Process=NulL,proclog,procstdout log4j.appender.proclog=org.apache.log4j.DailyRollingfileAppender log4j.appender.proclog.file=${logpath}process.log log4j.appender.proclog.DatePattern=${backup_pattern} log4j.appender.proclog.layout=org.apache.log4j.PatternLayout log4j.appender.proclog.layout.conversionPattern=${simple_pattern} log4j.appender.procstdout=org.apache.log4j.ConsoleAppender log4j.appender.procstdout.layout=org.apache.log4j.PatternLayout log4j.appender.procstdout.layout.ConversionPattern=${simple_pattern} #=============================== # ONE #=============================== log4j.logger.process.log.One=NulL,one log4j.appender.one=org.apache.log4j.DailyRollingfileAppender log4j.appender.one.file=${logpath}one.log log4j.appender.one.DatePattern=${backup_pattern} log4j.appender.one.layout=org.apache.log4j.PatternLayout log4j.appender.one.layout.conversionPattern=${simple_pattern} #=============================== # TWO #=============================== log4j.logger.process.log.Two=NulL,two log4j.appender.two=org.apache.log4j.DailyRollingfileAppender log4j.appender.two.file=${logpath}two.log log4j.appender.two.DatePattern=${backup_pattern} log4j.appender.two.layout=org.apache.log4j.PatternLayout log4j.appender.two.layout.conversionPattern=${simple_pattern} #=============================== # THREE #=============================== log4j.logger.process.log.Three=NulL,three log4j.appender.three=org.apache.log4j.DailyRollingfileAppender log4j.appender.three.file=${logpath}three.log log4j.appender.three.DatePattern=${backup_pattern} log4j.appender.three.layout=org.apache.log4j.PatternLayout log4j.appender.three.layout.conversionPattern=${simple_pattern}

我第一次使用进程appender是单一的logging器,现在我把它分为一个,两个和三个logging器。 我的进程每隔1分钟执行一次。

所以。 我有大问题,我不知道为什么log4j不能生成备份文件。 但是当我通过命令行手动执行它是好的。

无法findexception的来源,以及它是什么样的exception

python听windows日志事件

Python – 在多处理环境中使用Streamhandler

在windows中,是否有相当于syslog或OS X的Console.applogging特定的错误?

将时间命令的输出保存到日志文件中

如何在SSIS中创build日志文件

batch file创build日志文件

Ruby gem'ruby oci8'返回错误:'OCI.DLL:126(无法find指定的模块。)(LoadError)'

开源的Syslog守护进程的windows

Bash命令logging器

您的log4j.propertIEs文件是否在调度程序执行的类路径中? 过去我也有类似的问题,这是由于配置文件不在类路径中。

你可以把它包含在你的process.jar文件中,或者像下面这样指定它的位置:

java -Dlog4j.configuration = file:///path/to/log4j.propertIEs -jar process.jar one

追加应该是默认的,根据javadocs,但值得在你的配置文件中指定,以消除歧义。 幸运的是,它可能会解决您的问题

log4j.appender.three.Append=true

非常感谢,我会再次尝试您的解决方案。

现在我的计划通过bgprocess.bat执行我的进程

bgprocess.bat

@echo off set CLAsspATH=.;%CLAsspATH% set path=C:j2sdk1.4.2bin;%path% javaw -jar process.jar %1

process.jar manifest.mf

Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.2 Created-By: 1.4.2 (IBM Corporation) Main-Class: process.Process Class-Path: ./lib/Utility.jar ./lib/DB2libRAD.jar ./lib/rowset.jar ./l ib/log4j-1.2.8.jar ./lib/com.ibm.mq.jar .

进程目录

- process.jar - bgprocess.bat - lib <dir> - log4j-1.2.8.jar - com.ibm.mq.jar - connector.jar - DB2libRAD.jar - rowset.jar - Utility.jar - log <dir> - one.log - two.log - three.log - process.log

并且所有日志文件正常工作,但是当传递备份时间时,它将被截断并在第一行开始新的日志。

总结

以上是内存溢出为你收集整理的为什么log4j不能生成备份文件?全部内容,希望文章能够帮你解决为什么log4j不能生成备份文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1159499.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存