如何在加载时记录异常 log4j.xml
how to log exception while loading log4j.xml
我们有一个 Java 程序被打包为可运行的 jar。日志记录是通过带有 log4j 的 slf4j。我们已将 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 blog封装代码,记录到控制台或文件,因为这不是经常发生的事情。
/* 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 程序被打包为可运行的 jar。日志记录是通过带有 log4j 的 slf4j。我们已将 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 blog封装代码,记录到控制台或文件,因为这不是经常发生的事情。
/* 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。