pyocf: Improve buffer logger to also print on console
Signed-off-by: Jan Musial <jan.musial@intel.com>
This commit is contained in:
parent
2aaa69b33b
commit
d87bdc3a43
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright(c) 2019-2021 Intel Corporation
|
# Copyright(c) 2019-2022 Intel Corporation
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -160,13 +160,19 @@ class FileLogger(Logger):
|
|||||||
logger.handlers = []
|
logger.handlers = []
|
||||||
|
|
||||||
|
|
||||||
class BufferLogger(Logger):
|
class BufferLogger(DefaultLogger):
|
||||||
def __init__(self, level: LogLevel):
|
def __init__(
|
||||||
super().__init__()
|
self,
|
||||||
self.level = level
|
console_level: LogLevel = LogLevel.WARN,
|
||||||
|
buffer_level: LogLevel = LogLevel.DEBUG,
|
||||||
|
name: str = ""
|
||||||
|
):
|
||||||
|
super().__init__(console_level, name)
|
||||||
|
self.level = buffer_level
|
||||||
self.buffer = StringIO()
|
self.buffer = StringIO()
|
||||||
|
|
||||||
def log(self, lvl, msg):
|
def log(self, lvl, msg):
|
||||||
|
super().log(lvl, msg)
|
||||||
if lvl < self.level:
|
if lvl < self.level:
|
||||||
self.buffer.write(msg + "\n")
|
self.buffer.write(msg + "\n")
|
||||||
|
|
||||||
|
@ -61,3 +61,18 @@ def pyocf_2_ctx():
|
|||||||
c1.exit()
|
c1.exit()
|
||||||
c2.exit()
|
c2.exit()
|
||||||
gc.collect()
|
gc.collect()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture()
|
||||||
|
def pyocf_2_ctx_log_buffer():
|
||||||
|
logger1 = BufferLogger(LogLevel.WARN, LogLevel.DEBUG, "Ctx1")
|
||||||
|
logger2 = BufferLogger(LogLevel.WARN, LogLevel.DEBUG, "Ctx2")
|
||||||
|
c1 = OcfCtx.with_defaults(logger1)
|
||||||
|
c2 = OcfCtx.with_defaults(logger2)
|
||||||
|
for vol_type in default_registered_volumes:
|
||||||
|
c1.register_volume_type(vol_type)
|
||||||
|
c2.register_volume_type(vol_type)
|
||||||
|
yield (c1, logger1, c2, logger2)
|
||||||
|
c1.exit()
|
||||||
|
c2.exit()
|
||||||
|
gc.collect()
|
||||||
|
Loading…
Reference in New Issue
Block a user