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