24 lines
690 B
Python
24 lines
690 B
Python
import pytest
|
|
from mozlog.formatters import ErrorSummaryFormatter, MachFormatter
|
|
from mozlog.handlers import StreamHandler
|
|
from mozlog.structuredlog import StructuredLogger
|
|
from six import StringIO
|
|
|
|
|
|
@pytest.fixture
|
|
def get_logger():
|
|
# Ensure a new state instance is created for each test function.
|
|
StructuredLogger._logger_states = {}
|
|
formatters = {
|
|
"mach": MachFormatter,
|
|
"errorsummary": ErrorSummaryFormatter,
|
|
}
|
|
|
|
def inner(name, **fmt_args):
|
|
buf = StringIO()
|
|
fmt = formatters[name](**fmt_args)
|
|
logger = StructuredLogger("test_logger")
|
|
logger.add_handler(StreamHandler(buf, fmt))
|
|
return logger
|
|
|
|
return inner
|