Perl
Papertrail can accept logs from any Perl script using either a local log file or the Sys::Syslog module.
Send log file with remote_syslog2
Configure your script to log to a file as usual, then transmit the log file to Papertrail using remote_syslog2. This does not require any modifications to the app.
Send events with Perl's Sys::Syslog module
Perl can also send log messages directly to Papertrail using >= 0.28 of the Sys::Syslog module.
To determine which version of Sys:Syslog is installed:
$ perl -MSys::Syslog -e 'print "$Sys::Syslog::VERSION\n"'
To update it:
$ sudo perl -MCPAN -e shell
# Accept all the defaults or modify as necessary
cpan> install Sys::Syslog
cpan> exit
Example
The following sends a UDP syslog message:
use Sys::Syslog qw(:standard :macros setlogsock); # standard functions & macros
$program = "PROGRAM";
$sender = "SENDER";
openlog("$program $sender", 'noeol,nonul');
setlogsock({ type => "udp", host => "logsN.papertrailapp.com", port => XXXXX });
syslog('info', 'something happened over here');
closelog();
Replace logsN
and XXXXX
with details from one of your
Papertrail log destinations, and $program
and $sender
as desired.
The scripts are not supported under any SolarWinds support program or service. The scripts are provided AS IS without warranty of any kind. SolarWinds further disclaims all warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The risk arising out of the use or performance of the scripts and documentation stays with you. In no event shall SolarWinds or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the scripts or documentation.