diff --git a/IPython/html/notebookapp.py b/IPython/html/notebookapp.py
index be61f1c5d..cc681c0af 100644
--- a/IPython/html/notebookapp.py
+++ b/IPython/html/notebookapp.py
@@ -47,6 +47,7 @@ if version_info < (3,1,0):
from tornado import httpserver
from tornado import web
+from tornado.log import LogFormatter
from IPython.html import DEFAULT_STATIC_FILES_PATH
from .base.handlers import Template404
@@ -301,13 +302,19 @@ class NotebookApp(BaseIPythonApplication):
)
kernel_argv = List(Unicode)
+
+ _log_formatter_cls = LogFormatter
def _log_level_default(self):
return logging.INFO
+ def _log_datefmt_default(self):
+ """Exclude date from default date format"""
+ return "%H:%M:%S"
+
def _log_format_default(self):
"""override default log format to include time"""
- return u"%(asctime)s.%(msecs).03d [%(name)s]%(highlevel)s %(message)s"
+ return u"%(color)s[%(levelname)1.1s %(asctime)s.%(msecs).03d %(name)s]%(end_color)s %(message)s"
# create requested profiles by default, if they don't exist:
auto_create = Bool(True)
@@ -584,10 +591,10 @@ class NotebookApp(BaseIPythonApplication):
self.log.propagate = False
# hook up tornado 3's loggers to our app handlers
- for name in ('access', 'application', 'general'):
- logger = logging.getLogger('tornado.%s' % name)
- logger.parent = self.log
- logger.setLevel(self.log.level)
+ logger = logging.getLogger('tornado')
+ logger.propagate = True
+ logger.parent = self.log
+ logger.setLevel(self.log.level)
def init_webapp(self):
"""initialize tornado webapp and httpserver"""