mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-01-19 21:40:24 +00:00
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",
|
||||
msec_format: str = "%s.%03dZ",
|
||||
):
|
||||
print(fmt_dict)
|
||||
self.fmt_dict = fmt_dict if fmt_dict is not None else {"message": "message"}
|
||||
self.default_time_format = time_format
|
||||
self.default_msec_format = msec_format
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import logging
|
||||
import re
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
@@ -179,6 +180,56 @@ def test_set_loggers_journald_importerror(import_fails):
|
||||
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():
|
||||
setup_logging_pre()
|
||||
reduce_verbosity_for_bias_tester()
|
||||
|
||||
Reference in New Issue
Block a user