我以前没有Java经验,而且我正在尝试调试Java类。该类从C ++代码调用。 Java代码中充满了SysLog
次调用,对我来说非常有帮助,但我无法确定输出的位置,如果有的话。
SysLog
的初始化非常简单:
public static void initLogger() {
if (log == null) {
log = new Syslog();
}
}
只是为了使问题复杂化,此代码作为Windows服务运行,这意味着它无法显示任何类型的UI,甚至不能显示控制台输出。日志记录必须转到文件才有用。
我是否需要执行某些操作才能启用日志记录?如果是这样,是什么?
我是否需要做一些事情来将日志记录发送到文件?如果是这样,是什么?
答案 0 :(得分:1)
有关Syslog的一些信息 - 它最初是作为通用UNIX日志记录服务开发的。它可以记录来自系统的本地消息,或从网络上的许多不同服务器收集日志消息。通常,任何UNIX系统都会在其上提供一些syslog服务的实现。这是聚合来自多个系统的消息的常用方法。
在Windows上,有很多系统日志服务器实现。如果您的Windows框上正在运行syslog服务,那么该消息可能会在那里结束。
然而,真正的问题是:您的Java应用程序向哪些syslog服务发送消息?理论上,您可以配置Java应用程序以将syslog消息发送到远程计算机。或者它可以尝试将消息发送到本地主机(因为syslog侦听默认端口)。
所以我认为VD所说的是检查你的java应用程序设置并查找syslog配置设置。您必须获得对syslog服务器的访问权限(在Windows上本地安装一个或者让远程计算机监听)。然后使用此link正确配置您的Java应用程序。
另一个复杂因素可能是您的java环境使用自定义或特殊的sysloghandler。 log4j非常常见,可能是默认设置,但您可能也想检查它。