From dc3881d99e580d8f314f589a5a4b1a00567f572f Mon Sep 17 00:00:00 2001 From: tobi-wan-kenobi Date: Tue, 4 Apr 2017 15:15:50 +0200 Subject: [PATCH] [core] Make logging work in (hopefully) all situations * Unless debugging has been enabled, log to stderr (i.e. do *not* try to open a file) * When debugging into a file, choose a location that is likely to be writeable by the user (i.e. the user's home directory) * Location of the logfile can also be specified fixes #62 --- bumblebee-status | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/bumblebee-status b/bumblebee-status index 7c59efd..ef669e2 100755 --- a/bumblebee-status +++ b/bumblebee-status @@ -11,12 +11,21 @@ import bumblebee.input import bumblebee.modules.error def main(): - logging.basicConfig( - level=logging.DEBUG, - format="[%(asctime)s] %(levelname)-8s %(message)s", - filename="{}/debug.log".format(os.path.dirname(os.path.realpath(__file__))) - ) config = bumblebee.config.Config(sys.argv[1:]) + + if config.debug(): + logging.basicConfig( + level=logging.DEBUG, + format="[%(asctime)s] %(levelname)-8s %(message)s", + filename=os.path.expanduser(config.logfile()) + ) + else: + logging.basicConfig( + level=logging.DEBUG, + format="[%(asctime)s] %(levelname)-8s %(message)s", + stream=sys.stderr + ) + theme = bumblebee.theme.Theme(config.theme()) output = bumblebee.output.I3BarOutput(theme=theme) inp = bumblebee.input.I3BarInput()