3 unstable releases
0.2.0 | Nov 3, 2019 |
---|---|
0.1.1 | Sep 4, 2019 |
0.1.0 | Sep 2, 2019 |
#12 in #systemd-unit
21KB
234 lines
killjoy Notifier: Logfile
Log unit state changes on behalf of killjoy.
killjoy is a systemd unit monitoring application. It discovers systemd units and tracks their states. When a unit changes to a state of interest, killjoy contacts notifiers. This application is a notifier which, upon being contacted by killjoy, will write to a CSV log file on its behalf.
Concepts
First, read the concepts section in the killjoy documentation.
This application is short-lived, so as to reduce RAM usage. When properly installed, this application will be auto-started whenever a D-Bus message is sent to it. When started, this application will consume all messages (presumably from killjoy) in its message queue, and then idle. If no messages arrive for more than a few seconds, this application quits.
Installation
Arch Linux users may use the killjoy-notifier-logfile-git AUR package. A stable package will be created when this application further matures.
Rust developers may install this app from source. Note that libdbus must be
installed. (On Ubuntu, this is provided by the libdbus-1-dev
package.)
git clone https://github.com/Ichimonji10/killjoy-notifier-logfile.git
cd killjoy-notifier-logfile
scripts/install.sh
Configuration
No configuration is necessary or possible.
Usage
Define a notifier in killjoy's configuration file:
"logfile": {
"bus_type": "session",
"bus_name": "name.jerebear.KilljoyNotifierLogfile1"
}
Then, list it in a rule's list of notifiers
.
When this application receives a message, it will write to
$XDG_DATA_HOME/killjoy-notifier-logfile/log.csv
, ($XDG_DATA_HOME
is most
commonly ~/.local/share
) with three or more columns, where the final columns
list the states that the unit has entered from newest to oldest. For example,
the following lines might be logged if syncthing.service
restarts:
2019-08-24T14:32:35.272529-04:00,syncthing.service,deactivating,active
2019-08-24T14:32:35.697160-04:00,syncthing.service,inactive,deactivating
2019-08-24T14:32:35.700217-04:00,syncthing.service,active,inactive
The timestamps are in RFC 3339 format.
Changelog
See annotated git tags.
License
This application is licensed under the GPLv3 or any later version.
Dependencies
~8MB
~153K SLoC