From 75c8a1317051e2fd209c6d815c22204615c505e7 Mon Sep 17 00:00:00 2001 From: Torsten Kurbad Date: Thu, 7 Sep 2017 17:11:56 +0200 Subject: [PATCH] Improved logging | TODO: debug --- pyupsmon.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pyupsmon.py b/pyupsmon.py index 2f29be5..6580aa3 100644 --- a/pyupsmon.py +++ b/pyupsmon.py @@ -1,13 +1,17 @@ #!/usr/bin/python3 # -# Depends on pyyaml! +# Depends on: +# - python-systemd +# - pyyaml +import logging import shlex import subprocess import sys import yaml from serial import Serial +from systemd.journal import JournalHandler from threading import Timer from time import sleep @@ -189,24 +193,35 @@ class ConvertUPS(Serial): if __name__ == "__main__": + log = logging.getLogger('pyupsmon') + log.addHandler(JournalHandler()) + log.setLevel(logging.INFO) + try: ups = ConvertUPS() except: + log.error('Error: Could not open UPS serial connection.') + log.error('\tCheck the config file!') print('Error: Could not open UPS serial connection.') print('\tCheck the config file!') sys.exit(1) if not ups.upsInit(): + log.error('PyUPSMon successfully started.') print('Error: Could not initialize UPS.') sys.exit(1) + log.info('PyUPSMon successfully started.') + while True: (toggled, onBatt) = ups.powerToggled() if toggled: if onBatt: + log.critical('UPS AC power loss. Starting shutdown timer.') print('UPS AC power loss. Starting shutdown timer.') ups.startShutdownTimer() if not onBatt: + log.critical('UPS AC power restored. Cancelling shutdown timer.') print('UPS AC power restored. Cancelling shutdown timer.') ups.cancelShutdownTimer() sleep(ups.interval)