From bcb4766f95a2022890fcc943d423ec853ccfbba4 Mon Sep 17 00:00:00 2001 From: eagleamon Date: Thu, 11 Jun 2015 15:01:11 +0200 Subject: [PATCH] adds a coloourful log output --- homeassistant/bootstrap.py | 20 +++++++++++++++++++- requirements.txt | 3 +++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/homeassistant/bootstrap.py b/homeassistant/bootstrap.py index ee2ee54df79..f8c595255d9 100644 --- a/homeassistant/bootstrap.py +++ b/homeassistant/bootstrap.py @@ -186,6 +186,24 @@ def from_config_file(config_path, hass=None): def enable_logging(hass): """ Setup the logging for home assistant. """ logging.basicConfig(level=logging.INFO) + fmt = ("%(log_color)s%(asctime)s %(levelname)s (%(threadName)s) " + "[%(name)s] %(message)s%(reset)s") + try: + from colorlog import ColoredFormatter + logging.getLogger().handlers[0].setFormatter(ColoredFormatter( + fmt, + datefmt='%y-%m-%d %H:%M:%S', + reset=True, + log_colors={ + 'DEBUG': 'cyan', + 'INFO': 'green', + 'WARNING': 'yellow', + 'ERROR': 'red', + 'CRITICAL': 'red', + } + )) + except ImportError: + _LOGGER.warn("Colorlog package not found, console coloring disabled") # Log errors to a file if we have write access to file or config dir err_log_path = hass.config.path('home-assistant.log') @@ -202,7 +220,7 @@ def enable_logging(hass): err_handler.setLevel(logging.WARNING) err_handler.setFormatter( logging.Formatter('%(asctime)s %(name)s: %(message)s', - datefmt='%H:%M %d-%m-%y')) + datefmt='%y-%m-%d %H:%M:%S')) logging.getLogger('').addHandler(err_handler) else: diff --git a/requirements.txt b/requirements.txt index 24b7bc1b12a..763a8effb27 100644 --- a/requirements.txt +++ b/requirements.txt @@ -64,3 +64,6 @@ python-mpd2>=0.5.4 # Hikvision (switch.hikvisioncam) hikvision>=0.4 + +# console log coloring +colorlog>=2.6.0