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

NAME
Linux::Systemd::Journal::Write - XS wrapper around sd-journal

VERSION
version 1.201600

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

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

  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.

SEE ALSO

•   Log::Journald

    At some point between me writing this module and getting around to releasing it, another module was released to write the journal.

•   systemd <http://www.freedesktop.org/wiki/Software/systemd/>

    The main "systemd" page.

•   sd-journal(3)

    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