Linux::Systemd::Journal::Write(3pm)

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 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');

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.

Releases

2 releases since Debian 12 (Bookworm); the text changed 1 time.

  1. 12
  2. 13

Author

Ioan Rogers <[email protected]>

From liblinux-systemd-perl 1.201600-4+b4 in Debian 13 (Trixie). Parsed by carta from the page's man source.