test: add test for json formatter
This commit is contained in:
@@ -17,7 +17,6 @@ class JsonFormatter(logging.Formatter):
|
|||||||
time_format: str = "%Y-%m-%dT%H:%M:%S",
|
time_format: str = "%Y-%m-%dT%H:%M:%S",
|
||||||
msec_format: str = "%s.%03dZ",
|
msec_format: str = "%s.%03dZ",
|
||||||
):
|
):
|
||||||
print(fmt_dict)
|
|
||||||
self.fmt_dict = fmt_dict if fmt_dict is not None else {"message": "message"}
|
self.fmt_dict = fmt_dict if fmt_dict is not None else {"message": "message"}
|
||||||
self.default_time_format = time_format
|
self.default_time_format = time_format
|
||||||
self.default_msec_format = msec_format
|
self.default_msec_format = msec_format
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import logging
|
import logging
|
||||||
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@@ -179,6 +180,56 @@ def test_set_loggers_journald_importerror(import_fails):
|
|||||||
logger.handlers = orig_handlers
|
logger.handlers = orig_handlers
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.usefixtures("keep_log_config_loggers")
|
||||||
|
def test_set_loggers_json_format(capsys):
|
||||||
|
logger = logging.getLogger()
|
||||||
|
orig_handlers = logger.handlers
|
||||||
|
logger.handlers = []
|
||||||
|
|
||||||
|
config = {
|
||||||
|
"ft_tests_force_logging": True,
|
||||||
|
"verbosity": 2,
|
||||||
|
"log_config": {
|
||||||
|
"version": 1,
|
||||||
|
"formatters": {
|
||||||
|
"json": {
|
||||||
|
"()": "freqtrade.loggers.json_formatter.JsonFormatter",
|
||||||
|
"fmt_dict": {
|
||||||
|
"timestamp": "asctime",
|
||||||
|
"level": "levelname",
|
||||||
|
"logger": "name",
|
||||||
|
"message": "message",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"handlers": {
|
||||||
|
"json": {
|
||||||
|
"class": "logging.StreamHandler",
|
||||||
|
"formatter": "json",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"handlers": ["json"],
|
||||||
|
"level": "DEBUG",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_logging_pre()
|
||||||
|
setup_logging(config)
|
||||||
|
assert len(logger.handlers) == 2
|
||||||
|
assert [x for x in logger.handlers if type(x).__name__ == "StreamHandler"]
|
||||||
|
assert [x for x in logger.handlers if isinstance(x, FTBufferingHandler)]
|
||||||
|
|
||||||
|
logger.info("Test message")
|
||||||
|
|
||||||
|
captured = capsys.readouterr()
|
||||||
|
assert re.search(r'{"timestamp": ".*"Test message".*', captured.err)
|
||||||
|
|
||||||
|
# reset handlers to not break pytest
|
||||||
|
logger.handlers = orig_handlers
|
||||||
|
|
||||||
|
|
||||||
def test_reduce_verbosity():
|
def test_reduce_verbosity():
|
||||||
setup_logging_pre()
|
setup_logging_pre()
|
||||||
reduce_verbosity_for_bias_tester()
|
reduce_verbosity_for_bias_tester()
|
||||||
|
|||||||
Reference in New Issue
Block a user