Solaris上的Perl Sys :: Syslog

时间:2008-09-15 22:54:57

标签: perl solaris syslog

有没有人让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都会返回错误,任何地方都无法记录任何内容。

3 个答案:

答案 0 :(得分:3)

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

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

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

setlogsock('inet', $hostname);
事情应该开始了。

答案 1 :(得分:1)

一般情况下,您可以通过查看CPAN测试人员矩阵like here来回答“模块$ x是否在平台$ y上工作”问题。

答案 2 :(得分:0)

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