sdutil ~master

Helpers for communicate with systemd


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

SystemD util

Minimal dynamic bindings for libsystemd.so:

  • int sd_notify(int unset_environment, const char* state)
  • int sd_pid_notify(pid_t pid, int unset_environment, const char *state)
  • int sd_journal_print(int priority, const char* fmt, ...)
  • int sd_journal_send(const char* fmt, ...)
  • int sd_journal_sendv(const iovec* data, int cnt)
  • int sd_journal_perror(const char *message)

with minimal wraps:

  • int sdNotify(int unset_environment, string state)
  • int sdNotify_ready(int unset_environment=0) @nogc send state="READY=1"
  • int sdNotify_reloading(int unset_environment=0) @nogc send state="RELOADING=1"
  • int sdNotify_stopping(int unset_environment=0) @nogc send state="STOPPING=1"
  • int sdNotify_watchdog(int unset_environment=0) @nogc send state="WATCHDOG=1"
  • int sdPidNotify(pid_t pid, int unset_environment, string state)
  • int sdNotifyf(Args...)(int unset_environment, string fmt, Args args) with D format
  • int sdPidNotifyf(Args...)(pid_t pid, int unset_environment, string fmt, Args args) with D format

and 2 std.experimental.logger.Logger implementations:

  • SDSimpleLogger not use libsystemd, only specific format output to stderr
  • SDJournalLogger use sd_journal_sendv in writeLogMsg and call initSystemDLib in ctor. It also add custom fields as CODE_MODULE (exact module name), CODE_MODULE0 (first level), CODE_MODULE1 (second level) can be used as tags for filtering (read more)

See example

Authors:
  • deviator
Dependencies:
ssll
Versions:
0.4.0 2019-Nov-25
0.3.0 2019-Aug-31
0.2.0 2019-Aug-23
0.1.2 2019-Jul-25
0.1.1 2019-May-08
Show all 7 versions
Download Stats:
  • 0 downloads today

  • 11 downloads this week

  • 23 downloads this month

  • 1285 downloads total

Score:
1.3
Short URL:
sdutil.dub.pm