2011-03-09 102 views
2

我有点困惑,所以想问问专家。Java应用程序+日志记录

我写了小型的java应用程序。我有读取属性文件的函数,其中包含写入日志和异常的目录的路径。假设我在阅读属性文件时遇到异常,因为记录器在那段时间之前不会被初始化,我怎么能知道有错误或异常?如果我在catch块中写入e.printStackTrace(),它将被打印出来吗?我正在通过Windows调度程序运行此应用程序。

感谢您的咨询。

BR SC

回答

1

忘记Log4j的标准输出。当日志功能不包含在JRE本身内时,这很有用。您可以通过logging.properties文件(在JVM起始点提供)配置日志记录属性。在应用程序内部,您可以使用或不使用嵌套异常来记录不同严重级别的消息。

Here是一个有用的页面,带有基本配置和日志功能使用的例子。

+0

谢谢。我已经在使用java.util.logging。将遵循链接在全球层面实施。那么,所有应用程序只能有一个全局日志?我可以为每个不同的应用程序创建单独的日志吗? BR。 SC – SmoothCriminel 2011-03-09 15:35:01

+0

我在说JDK级别... – SmoothCriminel 2011-03-09 15:36:31

+0

我知道了...我可以使用java.util.logging.config.file = myLoggingConfigFilePath ...它也应该包含日志文件名称?例如“d:\测试\ logging.properties”。谢谢。 SC。 – SmoothCriminel 2011-03-09 15:42:22

1

使用log4j其配置[这里将使用log4j.properties或.xml从classpath配置它自身],在应用程序启动时初始化和应用广泛的使用。

0

如果你想确定抛出异常,不要抓它:)

printStackTrace()写入到stderr。您可以通过控制台运行您的应用程序来阅读它。

如果要登录不管是什么,没有任何配置或额外的库,你可以使用java-util.logging这是捆绑在一起的JDK和写入默认

+0

谢谢。 BR。 SC。 – SmoothCriminel 2011-03-09 15:35:23