|
26 | 26 | from openstackclient.common import exceptions |
27 | 27 |
|
28 | 28 |
|
29 | | -def log_method(log, level=logging.DEBUG): |
30 | | - """Logs a method and its arguments when entered.""" |
| 29 | +class log_method(object): |
31 | 30 |
|
32 | | - def decorator(func): |
| 31 | + def __init__(self, log=None, level=logging.DEBUG): |
| 32 | + self._log = log |
| 33 | + self._level = level |
| 34 | + |
| 35 | + def __call__(self, func): |
33 | 36 | func_name = func.__name__ |
| 37 | + if not self._log: |
| 38 | + self._log = logging.getLogger(func.__class__.__name__) |
34 | 39 |
|
35 | 40 | @six.wraps(func) |
36 | | - def wrapper(self, *args, **kwargs): |
37 | | - if log.isEnabledFor(level): |
| 41 | + def wrapper(*args, **kwargs): |
| 42 | + if self._log.isEnabledFor(self._level): |
38 | 43 | pretty_args = [] |
39 | 44 | if args: |
40 | 45 | pretty_args.extend(str(a) for a in args) |
41 | 46 | if kwargs: |
42 | 47 | pretty_args.extend( |
43 | 48 | "%s=%s" % (k, v) for k, v in six.iteritems(kwargs)) |
44 | | - log.log(level, "%s(%s)", func_name, ", ".join(pretty_args)) |
45 | | - return func(self, *args, **kwargs) |
| 49 | + self._log.log(self._level, "%s(%s)", |
| 50 | + func_name, ", ".join(pretty_args)) |
| 51 | + return func(*args, **kwargs) |
46 | 52 |
|
47 | 53 | return wrapper |
48 | 54 |
|
49 | | - return decorator |
50 | | - |
51 | 55 |
|
52 | 56 | def find_resource(manager, name_or_id, **kwargs): |
53 | 57 | """Helper for the _find_* methods. |
|
0 commit comments