0

有没有人让Sys::Syslog在 Solaris 上工作?(我在 SPARC 上的 SunOS 5.10 上的 Perl v5.8.4 上运行 Sys::Syslog 0.05)。这对我不起作用:

openlog "myprog", "pid", "user" or die;
syslog "crit", "%s", "Test from $0" or die;
closelog() or warn "Can't close: $!";
system "tail /var/adm/messages";

无论我做什么,closelog 都会返回一个错误,并且不会在任何地方记录任何内容。

4

3 回答 3

3

默认情况下,Sys::Syslog 将尝试使用以下套接字类型之一进行连接:

[ 'tcp', 'udp', 'unix', 'stream' ]

但是,在 Solaris 上,您需要使用 inet 套接字。称呼:

setlogsock('inet', $hostname);

事情应该开始工作了。

于 2008-09-16T00:07:27.383 回答
1

一般来说,您可以通过查看 CPAN 测试者矩阵来回答“模块 $x 是否在平台 $y 上工作”的问题,就像这里一样

于 2008-09-17T09:36:07.693 回答
0

setlogsock('inet') 并没有为我做这件事(它寻找主机“syslog”),但从 CPAN 构建和安装 Sys::Syslog 做到了。Solaris 10 附带的 Sys::Syslog 很古老。

于 2008-09-17T09:28:43.687 回答