Last active
August 29, 2015 14:18
-
-
Save ryonsherman/6712a332ee785539b76d to your computer and use it in GitHub Desktop.
Overridden Python logging methods to return passed message
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python2 | |
import logging | |
# get root logger | |
log = logging.getLogger() | |
# wrapper to return message after logging | |
def log_return(fn): | |
def wrapper(msg, *args, **kwargs): | |
fn(msg, *args, **kwargs) | |
return msg | |
return wrapper | |
# override logger methods | |
map(lambda fn: setattr(log, fn, log_return(getattr(log, fn))), | |
('debug', 'info', 'warning', 'error', 'critical', 'exception')) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The default Python logging methods return void.
This leads to a somewhat verbose usage of an otherwise inline method:
This snippet overrides the default methods to return the passed message: