gpt4 book ai didi

java - 如何在加载 log4j.xml 时记录异常

转载 作者:行者123 更新时间:2023-12-01 11:47:52 27 4
gpt4 key购买 nike

我们有一个 Java 程序,它被打包为可运行的 jar。日志记录是通过 slf4j 和 log4j 进行的。我们已将 log4j.xml 放置在可运行 jar 之外 - 到文件系统上。一旦用户单击可运行的 jar,就会调用 main 方法,该方法调用该函数来加载 log4j.xml 文件。我的问题是如果 log4j.xml 本身加载失败怎么办?如何记录该异常? Logger 尚未初始化,据我所知 sys.out 在这种情况下没有用。这是在调用 main 方法后立即调用的代码段:

/* This method loads the log4j.xml file from local directory */
public static void loadLog4jXml(){
DOMConfigurator.configure( "C:\MyFirstJavaExecJar\log4j.xml" );
}

我尝试用谷歌搜索它,但找不到任何指示。还尝试浏览 apache 网站上的常见问题解答列表:http://logging.apache.org/log4j/2.x/faq.html

感谢任何帮助!

最佳答案

为什么它不起作用只需用 try catch 博客封装代码并将其记录到控制台或文件中,因为这不是经常发生的事情。

/* This method loads the log4j.xml file from local directory */
public static void loadLog4jXml(){
try{
DOMConfigurator.configure( "C:\MyFirstJavaExecJar\log4j.xml");
}
catch(Exception e){
System.out.println("There is a problem about log4J file loading");
}
}

好的,首先你在使用 try catch 加载 log4j 文件时封装你的代码,如果你在 Windows 控制台中运行它,控制台就是这里的 dos 屏幕,所以如果你通过 java -jar yourJar.jar 运行它时在 Windows 上出现问题在这种情况下,它会将消息写入您的 dos 屏幕。或者您可以提供此 jar 的文件路径并将日志写入此文件。或者您可以使用事件日志记录来获得更复杂的解决方案,请检查此 discussion

关于java - 如何在加载 log4j.xml 时记录异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29014861/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com