Solaris上的Perl Sys :: Syslog
时间:2020-03-05 18:54:45 来源:igfitidea点击:
有人让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[ 'tcp', 'udp', 'unix', 'stream' ]" or die; closelog() or warn "Can't close: $!"; system "tail /var/adm/messages";
无论我做什么,closelog都会返回一个错误,并且任何地方都不会记录任何内容。
解决方案
回答
默认情况下,Sys :: Syslog将尝试使用以下套接字类型之一进行连接:
setlogsock('inet', $hostname);
但是,在Solaris上,我们需要使用inet套接字。称呼:
##代码##并且事情应该开始起作用。
回答
setlogsock('inet')并不是为我做的(它寻找主机" syslog"),但是从CPAN生成并安装Sys :: Syslog却做到了。 Solaris 10随附的Sys :: Syslog很古老。
回答
通常,我们可以通过查看CPAN测试人员矩阵来回答"模块$ x是否在平台$ y上工作"的问题,如下所示。