diff -r 136adbcefa5f Doc/library/logging.rst --- a/Doc/library/logging.rst Sun Jan 03 18:00:31 2016 -0800 +++ b/Doc/library/logging.rst Sat Jan 09 16:00:28 2016 +0200 @@ -310,7 +310,7 @@ Logger-level filtering is applied using :meth:`~Logger.filter`. -.. method:: Logger.makeRecord(name, lvl, fn, lno, msg, args, exc_info, func=None, extra=None, sinfo=None) +.. method:: Logger.makeRecord(name, lvl, fn, lno, msg, args, exc_info, func=None, extra=None, sinfo=None, **kwargs) This is a factory method which can be overridden in subclasses to create specialized :class:`LogRecord` instances. diff -r 136adbcefa5f Lib/logging/__init__.py --- a/Lib/logging/__init__.py Sun Jan 03 18:00:31 2016 -0800 +++ b/Lib/logging/__init__.py Sat Jan 09 16:00:28 2016 +0200 @@ -1376,13 +1376,13 @@ return rv def makeRecord(self, name, level, fn, lno, msg, args, exc_info, - func=None, extra=None, sinfo=None): + func=None, extra=None, sinfo=None, **kwargs): """ A factory method which can be overridden in subclasses to create specialized LogRecords. """ rv = _logRecordFactory(name, level, fn, lno, msg, args, exc_info, func, - sinfo) + sinfo, **kwargs) if extra is not None: for key in extra: if (key in ["message", "asctime"]) or (key in rv.__dict__): @@ -1390,7 +1390,7 @@ rv.__dict__[key] = extra[key] return rv - def _log(self, level, msg, args, exc_info=None, extra=None, stack_info=False): + def _log(self, level, msg, args, exc_info=None, extra=None, stack_info=False, **kwargs): """ Low-level logging routine which creates a LogRecord and then calls all the handlers of this logger to handle the record. @@ -1412,7 +1412,7 @@ elif not isinstance(exc_info, tuple): exc_info = sys.exc_info() record = self.makeRecord(self.name, level, fn, lno, msg, args, - exc_info, func, extra, sinfo) + exc_info, func, extra, sinfo, **kwargs) self.handle(record) def handle(self, record):