系统日志中的毫秒时间戳(Solaris 10)

系统日志中的毫秒时间戳(Solaris 10)

是否有人知道如何配置 syslog 以在 Solaris 10 上的日志中使用毫秒时间戳,而不是默认的 1 秒分辨率?

我知道 syslog-ng 可用,但我希望可以使用现有的 syslog 进程设置一些配置。

感谢您的帮助。NickB

答案1

现有的 Solaris syslogd 不支持毫秒时间戳。如果需要,您需要使用替代的 syslogd 包(如 syslog-ng)。

答案2

我不这么认为。如果您尝试调试某些计时问题,那么 syslog 可能不是正确的方法。但是,如果您正在编写自己的代码,则可以将时间包含在调用的消息部分中syslog(3C)(或从 shell 中logger(1))。日志条目仍将以整秒为单位,但消息将包含小数部分(尽管如果您从 shell 脚本中执行此操作,精度可能不会很好)。

也许是这样的:

// use gettimeofday(3C) to get microseconds (availability is hardware dependent)
syslog(LOG_INFO|LOG_LOCAL0, "Program foo timestamp: %d", microseconds);

相关内容