如何从jar文件中获取log4j输出

时间:2014-04-12 18:20:30

标签: java logging log4j

当我在程序中运行时,我可以将日志写入文件中。但是在制作程序的jar文件并使用ProcessBuilder运行该jar之后,它确实会生成该文件,但它不会写任何内容。任何帮助表示赞赏。

这是属性文件

log4j.rootLogger=fatal,CONSOLE,R

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=H://decompilerDirectory//logs/testlog.log
log4j.appender.R.MaxFileSize=60000KB
log4j.appender.R.MaxBackupIndex=15
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d - %c - %p - %m%n

这就是我运行程序的方式

ProcessBuilder pb = new ProcessBuilder("C:\\Program Files\\Java\\jdk1.7.0_13\\bin\\javaw.exe", "-jar", "ta.jar", filePath);

Process p = pb.start();
p.waitFor();

1 个答案:

答案 0 :(得分:1)

您是否在jar的清单文件中设置了main-class

这不是关于主要方法,而是关于主要方法。检查我给你的链接。如果你想从命令行运行一个jar文件,你需要在它的清单文件中设置它的主类,否则,指定你想要执行它的主函数的类。

java -jar jar-file-name.jar com.yourcompany.yourclass main-method-arguments-spearated-with-spaces