diff --git a/IPython/config/application.py b/IPython/config/application.py index 59a21e5..f9e94ee 100644 --- a/IPython/config/application.py +++ b/IPython/config/application.py @@ -133,6 +133,9 @@ class Application(SingletonConfigurable): self.log_level = new self.log.setLevel(new) + log_format = Unicode("[%(name)s] %(message)s", config=True, + help="The Logging format template", + ) log = Instance(logging.Logger) def _log_default(self): """Start logging for this application. @@ -149,7 +152,7 @@ class Application(SingletonConfigurable): _log_handler = logging.StreamHandler(open(os.devnull, 'w')) else: _log_handler = logging.StreamHandler() - _log_formatter = logging.Formatter("[%(name)s] %(message)s") + _log_formatter = logging.Formatter(self.log_format) _log_handler.setFormatter(_log_formatter) log.addHandler(_log_handler) return log diff --git a/IPython/parallel/apps/baseapp.py b/IPython/parallel/apps/baseapp.py index 32b6d98..071a06d 100644 --- a/IPython/parallel/apps/baseapp.py +++ b/IPython/parallel/apps/baseapp.py @@ -102,6 +102,10 @@ class BaseParallelApplication(BaseIPythonApplication): def _log_level_default(self): # temporarily override default_log_level to INFO return logging.INFO + + def _log_format_default(self): + """override default log format to include time""" + return u"%(asctime)s.%(msecs).03d [%(name)s] %(message)s" work_dir = Unicode(os.getcwdu(), config=True, help='Set the working dir for the process.' @@ -182,7 +186,7 @@ class BaseParallelApplication(BaseIPythonApplication): else: self._log_handler = self.log.handlers[0] # Add timestamps to log format: - self._log_formatter = logging.Formatter("%(asctime)s.%(msecs).03d [%(name)s] %(message)s", + self._log_formatter = logging.Formatter(self.log_format, datefmt="%Y-%m-%d %H:%M:%S") self._log_handler.setFormatter(self._log_formatter) # do not propagate log messages to root logger