在不同的操作系统中打包时,java.util.Logger的行为会有所不同

时间:2009-07-07 13:59:25

标签: java eclipse logging

我从Linux Redhat 4.3中的jar文件运行一个java程序,并使用eclipse从我的项目中创建jar文件。

如果我在linux中运行eclipse时创建了jar文件,一切正常(日志文件中的日志文件名和普通文本格式正常)。

但是,如果我在WinXP下运行eclispe时创建jar(并通过ftp将其发送到我的linux服务器),则日志文件名为java0.log.0,内部文本为XML格式。

还有一件事 - 我的程序使用SimpleFormatter作为日志文件的格式化程序。

任何想法?

3 个答案:

答案 0 :(得分:0)

java.util.logging.FileHandler默认情况下会以XML格式记录。所以我想知道你是不是正确地指定了日志配置的路径。因此它可以在Linux上运行,但不适用于Windows。

答案 1 :(得分:0)

你如何在“eclipse”中创建Jar文件?你在使用Eclipse的导出 - > Java - > JAR文件?或者您是通过Eclipse运行ANT或Maven脚本吗?

如果您只是直接从Eclipse导出 - 我建议使用ANT或Maven来获得与IDE无关的可重复构建过程。

如果你是从ANT或Maven构建的,我会检查本地配置是否覆盖了在构建脚本中登录的内容。

也可能是应用程序或构建脚本中嵌入了特定于平台的路径,并且找不到您的log4j属性文件,因此log4j只是默认使用。但是,我不确定您指定的XML格式和日志文件名格式是否为默认格式。

答案 2 :(得分:0)

您的计算机可能正在使用不同的JAVA编译器版本 - 可能在版本之间存在不同的默认行为。