Make multiple pyocf loggers viable
Signed-off-by: Jan Musial <jan.musial@intel.com>
This commit is contained in:
parent
441e3c20d7
commit
8f47cfa5bf
@ -20,9 +20,7 @@ import weakref
|
|||||||
|
|
||||||
from ..ocf import OcfLib
|
from ..ocf import OcfLib
|
||||||
|
|
||||||
logger = logging.getLogger("pyocf")
|
logging.basicConfig(level=logging.DEBUG, handlers=[logging.NullHandler()])
|
||||||
logger.setLevel(logging.DEBUG)
|
|
||||||
|
|
||||||
|
|
||||||
class LogLevel(IntEnum):
|
class LogLevel(IntEnum):
|
||||||
EMERG = 0
|
EMERG = 0
|
||||||
@ -71,7 +69,7 @@ class LoggerPriv(Structure):
|
|||||||
class Logger(Structure):
|
class Logger(Structure):
|
||||||
_instances_ = weakref.WeakValueDictionary()
|
_instances_ = weakref.WeakValueDictionary()
|
||||||
|
|
||||||
_fields_ = [("logger", c_void_p)]
|
_fields_ = [("_logger", c_void_p)]
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.ops = LoggerOps(
|
self.ops = LoggerOps(
|
||||||
@ -118,23 +116,25 @@ class Logger(Structure):
|
|||||||
|
|
||||||
|
|
||||||
class DefaultLogger(Logger):
|
class DefaultLogger(Logger):
|
||||||
def __init__(self, level: LogLevel = LogLevel.WARN):
|
def __init__(self, level: LogLevel = LogLevel.WARN, name: str = ""):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.level = level
|
self.level = level
|
||||||
|
self.name = name
|
||||||
|
|
||||||
|
self.logger = logging.getLogger(name)
|
||||||
ch = logging.StreamHandler()
|
ch = logging.StreamHandler()
|
||||||
fmt = logging.Formatter(
|
fmt = logging.Formatter(
|
||||||
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
||||||
)
|
)
|
||||||
ch.setFormatter(fmt)
|
ch.setFormatter(fmt)
|
||||||
ch.setLevel(LevelMapping[level])
|
ch.setLevel(LevelMapping[level])
|
||||||
logger.addHandler(ch)
|
self.logger.addHandler(ch)
|
||||||
|
|
||||||
def log(self, lvl: int, msg: str):
|
def log(self, lvl: int, msg: str):
|
||||||
logger.log(LevelMapping[lvl], msg)
|
self.logger.log(LevelMapping[lvl], msg)
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
logger.handlers = []
|
self.logger.handlers = []
|
||||||
|
|
||||||
|
|
||||||
class FileLogger(Logger):
|
class FileLogger(Logger):
|
||||||
|
Loading…
Reference in New Issue
Block a user