NAME
Linux::Systemd::Journal::Write - XS wrapper around sd-journal
VERSION
version 1.201600
SYNOPSIS
my
$jnl
= Linux::Systemd::Journal::Write->new;
# basic log messages
$jnl
->
(
'flarg'
);
# with default log level
$jnl
->
(
'Hello world'
, 4);
# WARN level
# add abitrary data to the log entry
my
%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=2
open
my
$fh
,
'<'
,
'nosuchfile'
or
$jnl
->perror(
'Failed to open file'
);
DESCRIPTION
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
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
.
SEE ALSO
-
At some point between me writing this module and getting around to releasing it, another module was released to write the journal.
-
The main
systemd
page. -
Man page of the C API
AUTHOR
Ioan Rogers <ioanr@cpan.org>
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