我在哪里可以找到SysLog输出?

时间:2014-04-25 01:28:59

标签: java windows syslog

我以前没有Java经验,而且我正在尝试调试Java类。该类从C ++代码调用。 Java代码中充满了SysLog次调用,对我来说非常有帮助,但我无法确定输出的位置,如果有的话。

SysLog的初始化非常简单:

public static void initLogger() {
    if (log == null) {
        log = new Syslog();
    }
}

只是为了使问题复杂化,此代码作为Windows服务运行,这意味着它无法显示任何类型的UI,甚至不能显示控制台输出。日志记录必须转到文件才有用。

我是否需要执行某些操作才能启用日志记录?如果是这样,是什么?

我是否需要做一些事情来将日志记录发送到文件?如果是这样,是什么?

1 个答案:

答案 0 :(得分:1)

有关Syslog的一些信息 - 它最初是作为通用UNIX日志记录服务开发的。它可以记录来自系统的本地消息,或从网络上的许多不同服务器收集日志消息。通常,任何UNIX系统都会在其上提供一些syslog服务的实现。这是聚合来自多个系统的消息的常用方法。

在Windows上,有很多系统日志服务器实现。如果您的Windows框上正在运行syslog服务,那么该消息可能会在那里结束。

然而,真正的问题是:您的Java应用程序向哪些syslog服务发送消息?理论上,您可以配置Java应用程序以将syslog消息发送到远程计算机。或者它可以尝试将消息发送到本地主机(因为syslog侦听默认端口)。

所以我认为VD所说的是检查你的java应用程序设置并查找syslog配置设置。您必须获得对syslog服务器的访问权限(在Windows上本地安装一个或者让远程计算机监听)。然后使用此link正确配置您的Java应用程序。

另一个复杂因素可能是您的java环境使用自定义或特殊的sysloghandler。 log4j非常常见,可能是默认设置,但您可能也想检查它。