mirror of
https://github.com/microsoft/qlib.git
synced 2026-07-04 03:21:00 +08:00
Fix logger pickling error
This commit is contained in:
10
qlib/log.py
10
qlib/log.py
@@ -17,6 +17,7 @@ class MetaLogger(type):
|
||||
wrapper_dict = logging.Logger.__dict__.copy()
|
||||
wrapper_dict.update(dict)
|
||||
wrapper_dict["__doc__"] = logging.Logger.__doc__
|
||||
del wrapper_dict["__reduce__"] # make Logger object can be pickled
|
||||
return type.__new__(cls, name, bases, wrapper_dict)
|
||||
|
||||
|
||||
@@ -29,6 +30,15 @@ class QlibLogger(metaclass=MetaLogger):
|
||||
self.module_name = module_name
|
||||
self.level = 0
|
||||
|
||||
def __getstate__(self):
|
||||
return vars(self)
|
||||
|
||||
def __setstate__(self, state):
|
||||
vars(self).update(state)
|
||||
|
||||
def __reduce__(self):
|
||||
return (QlibLogger, (self.module_name,))
|
||||
|
||||
@property
|
||||
def logger(self):
|
||||
logger = logging.getLogger(self.module_name)
|
||||
|
||||
Reference in New Issue
Block a user