Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python Logger中设置datetime固定值作为结果?_Python_Python 3.x - Fatal编程技术网

如何在Python Logger中设置datetime固定值作为结果?

如何在Python Logger中设置datetime固定值作为结果?,python,python-3.x,Python,Python 3.x,我正在为我的应用程序创建一些结构化日志,我想检查它的输出。对于日志记录,我使用Python默认记录器和pytests进行测试(在本项目中,unittest不是一个选项)。 我想根据一个固定的文本断言我从日志中获得的输出,为了这样做,我需要有一个固定的日期时间。但不管我做什么,我都不能覆盖Python记录器datetime。为了进行正确的测试,如何模拟从python记录器获得的日期时间 更新 它不是我需要的格式化程序,我实际上需要在运行测试时始终将预期的日期时间作为结果。因此,我调用记录器多少次,

我正在为我的应用程序创建一些结构化日志,我想检查它的输出。对于日志记录,我使用Python默认记录器和pytests进行测试(在本项目中,unittest不是一个选项)。 我想根据一个固定的文本断言我从日志中获得的输出,为了这样做,我需要有一个固定的日期时间。但不管我做什么,我都不能覆盖Python记录器datetime。为了进行正确的测试,如何模拟从python记录器获得的日期时间

更新

它不是我需要的格式化程序,我实际上需要在运行测试时始终将预期的日期时间作为结果。因此,我调用记录器多少次,它总是以相同的Datetime值响应,例如:
2001-01-01

希望有帮助

def sim_time(self, record, datefmt=None):
    return datetime.datetime(2000,1,2,3,4,5,678).strftime('%Y-%m-%d %H:%M:%S,%f')[:-3]

import logging
logging.Formatter.formatTime = sim_time
创建一个新的格式化程序

#创建格式化程序
formatter=logging.formatter(“%(asctime)s;%(levelname)s;%(message)s”,
%Y-%m-%d%H:%m:%S)

请参见

谢谢,但这不是日期时间格式,而是日期时间值。