我有点困惑所以,想问专家。
我写过小型java应用程序。我有一个函数,它读取属性文件,其中包含编写日志和异常的目录的路径。假设我在读取属性文件时遇到异常,因为当时logger还没有初始化,我怎么知道有错误或异常?如果我在catch块中写了e.printStackTrace(),它将被打印出来?我通过Windows调度程序运行此应用程序。
感谢您的建议。
BR SC
答案 0 :(得分:1)
使用log4j配置它[这里它将通过使用类路径中的log4j.properties或.xml自行配置],在应用启动时初始化它并在app范围内使用它。
答案 1 :(得分:1)
忘记Log4j。当记录功能没有嵌入JRE内部时,这很有用。您可以通过logging.properties文件(在JVM起始点提供)来配置日志记录属性。在应用程序内部,您可以使用或不使用嵌套异常来记录具有不同严重性级别的消息。
Here是一个有用的页面,其中包含基本配置和日志功能使用的示例。
答案 2 :(得分:0)
如果你想确定抛出异常,请不要抓住它:
printStackTrace()
写入stderr。您可以通过控制台运行您的应用程序来阅读它。
如果你想在没有任何配置或额外库的情况下记录,你可以使用与jdk捆绑的java-util.logging并默认写入stdout