From 05a3bfbb53d526f5143c9ff6b591b150a8963826 Mon Sep 17 00:00:00 2001 From: Alan Hamlett Date: Wed, 6 May 2015 12:30:26 -0700 Subject: [PATCH] include package and lineno in log outout --- packages/wakatime/logger.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/wakatime/logger.py b/packages/wakatime/logger.py index 2eb2e81..fdae903 100644 --- a/packages/wakatime/logger.py +++ b/packages/wakatime/logger.py @@ -9,6 +9,7 @@ :license: BSD, see LICENSE for more details. """ +import inspect import logging import os import sys @@ -47,14 +48,19 @@ class JsonFormatter(logging.Formatter): def format(self, record): data = OrderedDict([ ('now', self.formatTime(record, self.datefmt)), - ('version', self.version), - ('plugin', self.plugin), - ('time', self.timestamp), - ('isWrite', self.isWrite), - ('file', self.targetFile), - ('level', record.levelname), - ('message', record.msg), ]) + try: + data['package'] = inspect.stack()[9][0].f_globals.get('__package__') + data['lineno'] = inspect.stack()[9][2] + except: + pass + data['version'] = self.version + data['plugin'] = self.plugin + data['time'] = self.timestamp + data['isWrite'] = self.isWrite + data['file'] = self.targetFile + data['level'] = record.levelname + data['message'] = record.msg if not self.plugin: del data['plugin'] if not self.isWrite: @@ -101,4 +107,5 @@ def setup_logging(args, version): ) handler.setFormatter(formatter) logger.addHandler(handler) + logging.getLogger('py.warnings').addHandler(handler) return logger