우리는 perls 스크립트에서 local2의 기능 코드를 사용하여 많은 syslog 메시지를 전송합니다. 이것은 Red Hat에서 정말 잘 작동하지만 SunOS에서는 메시지가 local2로 보이지 않습니다. 예를 들어, 최소 스크립트는 다음과 같습니다.perl에서 syslog 메시지 보내기
#!/usr/bin/perl
use strict;
use warnings;
use Sys::Syslog qw(:DEFAULT :standard :macros);
openlog("", 'ndelay', 'local2');
syslog('info', "ItWorks");
`logger -p local2.info "ItWorks"`;
이 스크립트에서 Syslog perl 모듈과 logger 명령을 통해 로그를 보내고 있습니다. 두 번째 메시지 만 local2로 이동합니다. 내가 local2에 가지 않는다고 믿는 이유는 syslog.conf 파일에 local2를 전달하기위한 규칙 설정이 있고 두 번째 메시지 만 전달된다는 것입니다. 나는 그들이 약간 다를 로그 파일에서이 메시지를 볼 때 그 중요한 경우, 잘 모르겠어요
Sep 2 11:41:22 ssapp7001v <150>Sep 2 11:41:22 d336599: ItWorks
Sep 2 11:41:22 ssapp7001v d336599: [ID 702911 local2.info] ItWorks
나는 또한 내가으로 LOCAL2를 사용하는 펄 코드에서 다양한 조합을 시도 것을 추가해야 문자열을 상수로 사용하여 openlog 호출 및/또는 syslog 호출에서 지정합니다. 그 중 어떤 것도 차이를 만들어 내지 못합니다. 나는 단지 backticks를 사용하고 logger를 호출 할 수는 있지만 그것은 최후의 수단이다. 왜냐하면 나는 명령 행에 친숙하지 않을 수도있는 문자와 모든 로그 메시지에 대한 새로운 프로세스를 여는 성능에 치중해야하기 때문이다. 불행하게도이 서버에서 설정을 변경하는 것은 문제가되지 않습니다.