diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-01-16 21:34:52 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-01-16 21:34:52 +0000 |
| commit | f100f36b096e5f8622d08072f12d0cfd3d3dbf98 (patch) | |
| tree | 9106fd6cec778ca96d3faa12d63c5fc06349f83e | |
| parent | fa3fa39187f2663dca36cb8d27b3815691a18a27 (diff) | |
| parent | 035b43b1fd320008234e066e30629fb0e359b424 (diff) | |
| download | nova-f100f36b096e5f8622d08072f12d0cfd3d3dbf98.tar.gz nova-f100f36b096e5f8622d08072f12d0cfd3d3dbf98.tar.xz nova-f100f36b096e5f8622d08072f12d0cfd3d3dbf98.zip | |
Merge "Refactoring logging _log function."
| -rw-r--r-- | nova/log.py | 59 |
1 files changed, 47 insertions, 12 deletions
diff --git a/nova/log.py b/nova/log.py index 6826c2311..fc084bd1a 100644 --- a/nova/log.py +++ b/nova/log.py @@ -152,27 +152,62 @@ class NovaLogger(logging.Logger): level = globals()[level_name] self.setLevel(level) - def _log(self, level, msg, args, exc_info=None, extra=None, context=None): - """Extract context from any log call.""" - if not extra: - extra = {} - if context is None: + def _update_extra(self, params): + if 'extra' not in params: + params['extra'] = {} + extra = params['extra'] + context = None + if 'context' in params: + context = params['context'] + del params['context'] + if not context: context = getattr(local.store, 'context', None) if context: extra.update(_dictify_context(context)) extra.update({"nova_version": version.version_string_with_vcs()}) - return logging.Logger._log(self, level, msg, args, exc_info, extra) + + def log(self, lvl, msg, *args, **kwargs): + self._update_extra(kwargs) + super(NovaLogger, self).log(lvl, msg, *args, **kwargs) + + def debug(self, msg, *args, **kwargs): + self._update_extra(kwargs) + super(NovaLogger, self).debug(msg, *args, **kwargs) + + def info(self, msg, *args, **kwargs): + self._update_extra(kwargs) + super(NovaLogger, self).info(msg, *args, **kwargs) + + def warn(self, msg, *args, **kwargs): + self._update_extra(kwargs) + super(NovaLogger, self).warn(msg, *args, **kwargs) + + def warning(self, msg, *args, **kwargs): + self._update_extra(kwargs) + super(NovaLogger, self).warning(msg, *args, **kwargs) + + def error(self, msg, *args, **kwargs): + self._update_extra(kwargs) + super(NovaLogger, self).error(msg, *args, **kwargs) + + def critical(self, msg, *args, **kwargs): + self._update_extra(kwargs) + super(NovaLogger, self).critical(msg, *args, **kwargs) + + def fatal(self, msg, *args, **kwargs): + self._update_extra(kwargs) + super(NovaLogger, self).fatal(msg, *args, **kwargs) + + def audit(self, msg, *args, **kwargs): + """Shortcut for our AUDIT level.""" + self._update_extra(kwargs) + self.log(AUDIT, msg, *args, **kwargs) def addHandler(self, handler): """Each handler gets our custom formatter.""" handler.setFormatter(_formatter) return logging.Logger.addHandler(self, handler) - def audit(self, msg, *args, **kwargs): - """Shortcut for our AUDIT level.""" - if self.isEnabledFor(AUDIT): - self._log(AUDIT, msg, args, **kwargs) - def exception(self, msg, *args, **kwargs): """Logging.exception doesn't handle kwargs, so breaks context.""" if not kwargs.get('exc_info'): @@ -330,7 +365,7 @@ logging.setLoggerClass(NovaLogger) def audit(msg, *args, **kwargs): """Shortcut for logging to root log with severity 'AUDIT'.""" - logging.root.log(AUDIT, msg, *args, **kwargs) + logging.root.audit(msg, *args, **kwargs) class WritableLogger(object): |
