У меня есть тест, с которым я работаю:
pytest --capture=no --verbose --rootdir=testing/ testing/tests/docker_test.py
из /home/user/development/
.Тест проверяет, запущены ли некоторые контейнеры, и использует стандартную среду ведения журналов Python 3.6.Регистратор внутри тестового файла настроен следующим образом:
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
logging.basicConfig(level=logging.INFO, stream=sys.stdout, format="%(asctime)s %(levelname)s %(message)s")
Внутренние тесты Я использую регистратор следующим образом:
logger.info(f"TEST SUCCESSFUL: container {container_name} is running")
logger.info(f"TEST SUCCESSFUL: all required containers are running")
Внутри testing
(корневой каталог) У меня естьфайл pytest.ini
:
[pytest]
log_level = INFO
log_cli_level = INFO
log_format = %(asctime)s %(levelname)s %(message)s
log_cli_format = %(asctime)s %(levelname)s %(message)s
log_date_format = %H:%M:%S
log_cli_date_format = %H:%M:%S
По сути, я не хочу, чтобы в метке времени была указана какая-либо дата, и я хочу, чтобы pytest записывал журнал в реальном времени в командную строку при выполнении тестов.
Для меня, мне интересно, что означает asctime
.Это выглядит как "время ASCII".Я не хочу стандартизированную метку времени, но вместо этого формат, который я описываю в pytest.ini
.Вот почему я также попытался использовать date
, datetime
и timestamp
вместо asctime
, что привело к ошибке.Так что я думаю, asctime
- единственный способ получить метку времени.
Однако pytest, похоже, игнорирует все параметры, которые я задаю в моем файле pytest.ini
, хотя указывает на то, что он нашел файл,когда я запускаю тесты:
cachedir: testing/.pytest_cache
rootdir: /home/user/development/testing, inifile: pytest.ini
Как я могу изменить метку времени при ведении журнала pytest?