我在尝试使用one-jar打包程序来简化部署过程来交付一个项目时遇到了问题。
没有打包,一切正常,日志配置也被完美加载,但在打包中,只有部分配置被应用。
所以,这是我使用的 logging.properties:
handlers= java.util.logging.ConsoleHandler, java.util.logging.FileHandler
.level= INFO
java.util.logging.FileHandler.pattern = C:\\MyPath\\logging.csv
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = my.package.logging.Formatter
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = my.package.logging.Formatter
在我的主课中,这是我加载它的方式:
public class MainClass {
public static void main(final String[] args) {
try {
LogManager.getLogManager().readConfiguration(
new MainClass().getClass().getResourceAsStream("logging.properties"));
// main process goes here.
} catch(Exception e) {
// Exception handling
}
}
}
日志级别以及 FileHandler 模式很好理解,因为日志记录最终在正确的文件中,但作为行 XML 输出,这让我认为格式化程序没有加载,因为它通常输出 CSV 格式。
它可能与类路径问题有关吗?有谁知道如何处理这个?