Linux::Systemd::Journal::Write3pm
Xs wrapper around sd-journal
Usage
use Linux::Systemd::Journal::Write;my $jnl = Linux::Systemd::Journal::Write->new;# basic log messages$jnl->print('flarg'); # with default log level$jnl->print('Hello world', 4); # WARN level# add abitrary data to the log entrymy %hash = (DAY_ONE => 'Monday', DAY_TWO => 'Tuesday', DAY_THREE => 'Wednesday');$jnl->send('Here is a message', \%hash); # add abitrary data to the log entry# will log "Failed to open file: No such file or directory" and ERRNO=2open my $fh, '<', 'nosuchfile'or $jnl->perror('Failed to open file');
Version
version 1.201600
Overview
Log Levels
The log levels use by "journald" and by "priority" are the same as those use by "syslog", so instead of using numeric priorities you can
use Sys::Syslog ':macros';
giving you access to the "LOG_*" "level constants"
Attributes
"app_id"
Will be used to set "SYSLOG_IDENTIFIER". Defaults to basename($0);
"priority"
Default log priority. See "Log Levels"
"caller_details"
Boolean controlling whether to log the "CODE_FILE", "CODE_LINE", and "CODE_FUNC" of the caller.
Optional. Defaults to "true";
See also systemd.journal-fields(7)
"caller_level"
If this module is not being used directly, but through some proxy module for instance, "caller_level" is used to determine the number of frames to look back through.
Optional. Defaults to 0;
Methods
"print($msg, $pri?)"
$msg should be either a string. $pri is optional, and defaults to $self->priority
"send($msg_or_data, $data?)"
If there is one arg, it may be a simple string to log. Or, it could be a hashref
or an arrayref. In this case, one of the keys sent MUST be 'message'.
If there are two args, the first must be the string to use as a message, the second a hashref or arrayref. In this case, a key called message should not be set.
Finally, "send" can also be called with an array of key => values, one of which must be message.
Keys will be uppercased.
perror($msg)
Logs the string of the current set "errno", prefixed with $msg.
Copyright and license
This software is Copyright (c) 2020 by Ioan Rogers.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999
Releases
2 releases since Debian 12 (Bookworm); the text changed 1 time.