From a4b329e25778a480c08bed95d6daa63931b4a68c Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Mon, 4 Jan 2021 23:22:02 +0100 Subject: Log to syslog, with optional stderr. --- fshare.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/fshare.py b/fshare.py index ccd3ae6..7ad2f9c 100755 --- a/fshare.py +++ b/fshare.py @@ -24,6 +24,7 @@ import os.path from http import HTTPStatus import http.server as hs import logging +import logging.handlers import secrets import shutil import socket @@ -291,6 +292,7 @@ group.add_argument('-4', '--ipv4', action = 'store_true') group.add_argument('-6', '--ipv6', action = 'store_true') parser.add_argument('-l', '--loglevel', default = 'WARNING') +parser.add_argument('-d', '--debug', action = 'store_true', help = 'log to stderr') parser.add_argument('state_file') parser.add_argument('data_dir') @@ -298,8 +300,21 @@ parser.add_argument('data_dir') args = parser.parse_args(sys.argv[1:]) # configure logging +progname = os.path.basename(sys.argv[0]) logging.basicConfig(stream = sys.stderr, level = args.loglevel) -logger = logging.getLogger(os.path.basename(sys.argv[0])) +logger = logging.getLogger(progname) + +formatter = logging.Formatter(fmt = progname + ': %(message)s') + +syslog = logging.handlers.SysLogHandler('/dev/log') + +handlers = [syslog] +if args.debug: + handlers.append(logging.StreamHandler()) + +for h in handlers: + h.setFormatter(formatter) + logger.addHandler(h) # read the state file state = PersistentState(args.state_file) -- cgit v1.2.3