✨ Add a logger
This commit is contained in:
parent
d21519630b
commit
9c6803be48
50
main.py
50
main.py
|
@ -12,9 +12,48 @@ This file is part of [`<GIT REPO NAME>`](<GIT REPO URL>)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
from os import environ
|
import logging
|
||||||
|
import logging.handlers
|
||||||
|
from os import environ, path
|
||||||
import sys
|
import sys
|
||||||
from pprint import pprint as pp
|
|
||||||
|
|
||||||
|
logger = logging.getLogger(path.splitext(path.basename(sys.argv[0]))[0])
|
||||||
|
|
||||||
|
|
||||||
|
def setup_logging(options):
|
||||||
|
"""Configure logging."""
|
||||||
|
root = logging.getLogger("")
|
||||||
|
logger.setLevel(options.debug and logging.DEBUG or logging.INFO)
|
||||||
|
format_debug = "%(levelname)s\t[%(name)s] %(message)s"
|
||||||
|
format_default = "%(message)s"
|
||||||
|
|
||||||
|
if options.debug:
|
||||||
|
# Logging with --debug option
|
||||||
|
|
||||||
|
if not sys.stderr.isatty():
|
||||||
|
# Logging in a file when launched not in a terminal
|
||||||
|
|
||||||
|
facility = logging.handlers.SysLogHandler.LOG_DAEMON
|
||||||
|
handler_syslog = logging.handlers.SysLogHandler(
|
||||||
|
address="/dev/log", facility=facility
|
||||||
|
)
|
||||||
|
handler_syslog.setFormatter(logging.Formatter(format_default))
|
||||||
|
root.addHandler(handler_syslog)
|
||||||
|
|
||||||
|
else:
|
||||||
|
# Logging on terminal standard output
|
||||||
|
|
||||||
|
handler_console = logging.StreamHandler()
|
||||||
|
handler_console.setFormatter(logging.Formatter(format_debug))
|
||||||
|
root.addHandler(handler_console)
|
||||||
|
|
||||||
|
else:
|
||||||
|
# Logging default setings
|
||||||
|
|
||||||
|
handler_console = logging.StreamHandler()
|
||||||
|
handler_console.setFormatter(logging.Formatter(format_default))
|
||||||
|
root.addHandler(handler_console)
|
||||||
|
|
||||||
|
|
||||||
class CustomFormatter(
|
class CustomFormatter(
|
||||||
|
@ -110,15 +149,16 @@ def main():
|
||||||
2
|
2
|
||||||
"""
|
"""
|
||||||
pargs = parse_args()
|
pargs = parse_args()
|
||||||
|
setup_logging(pargs)
|
||||||
|
|
||||||
if pargs.foo:
|
if pargs.foo:
|
||||||
pp(i_am_foo())
|
logger.info(i_am_foo())
|
||||||
|
|
||||||
elif pargs.bar:
|
elif pargs.bar:
|
||||||
pp(i_am_bar(pargs.bar))
|
logger.info(i_am_bar(pargs.bar))
|
||||||
|
|
||||||
if pargs.debug and pargs:
|
if pargs.debug and pargs:
|
||||||
pp(pargs)
|
logger.debug(pargs)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
Loading…
Reference in New Issue
Block a user