Python 日志记录:覆盖日志时间

2024-01-28

下列的Python 的文档 http://docs.python.org/library/logging.html#logging.Formatter.formatTime,我正在尝试覆盖logging.Formatter.converter以控制记录的时间。
正如你在下面看到的——毫秒没有被覆盖(它们是当前时间毫秒)。

怎么会?我怎样才能控制毫秒?

>>> import logging, datetime
>>> formatter = logging.Formatter('%(asctime)s:%(message)s')
>>> handler = logging.StreamHandler()
>>> handler.setFormatter(formatter)
>>> def sim_time(t):
...     return datetime.datetime(2000,1,2,3,4,5,678).timetuple()
...
>>> formatter.converter = sim_time
>>> log = logging.getLogger('test')
>>> log.addHandler(handler)
>>> log.info('hi')
2000-01-02 03:04:05,898:hi
>>> log.info('hi')
2000-01-02 03:04:05,914:hi
>>> log.info('hi')
2000-01-02 03:04:05,434:hi

覆盖logging.Formatter.formatTime()而是用这个:

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

formatter.formatTime = sim_time

如果在此过程中的所有记录器都需要它,则可以重写类函数本身,但在第一个记录器之后立即执行此操作import logging您的代码遇到的语句:

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 日志记录:覆盖日志时间 的相关文章

随机推荐

  • UIImageView 缓存策略 - AFNewtorking

    我的应用程序中有几个 UIImageView 我使用 AFNetworkingsetImageWithURL从我的服务器填充图像 文档说这个方法使用标准的 UIImageView 缓存策略 我的问题是 如果我更新服务器上的图像 该图像不会很
  • 使用 R 将列名称插入其值

    我需要将列名称 部门插入其值中 我有这样的代码 Department lt c Store1 Store2 Store3 Store4 Store5 Department2 lt c IT1 IT2 IT3 IT4 IT5 x lt c 1
  • 避免重复输入 mysql 数据库的最佳方法

    我有一个包含 3 列的表 id pk pageId fk 名称 我有一个 php 脚本 它将大约 5000 条记录转储到表中 其中大约一半是重复的 具有相同的 pageId 和名称 pageId 和名称的组合应该是唯一的 当我在 php 中
  • 使用预填充表单,仅提交更改的字段

    我有一个使用选择和文本输入的 html 表单 该表单预先填充了默认值 如何仅提交用户更改默认值的输入 请注意 该页面将存储在空间有限的嵌入式系统中 因此不可能使用 javascript 库 示例 HTML
  • 我正在与 requirejs 优化器和非 AMD 模块作斗争

    我正在与 requirejs 优化器作斗争 如果我只是将其加载到浏览器中而不进行优化 则该代码将起作用 如果我运行优化器 我会得到 ENOENT no such file or directory C Users dev checkout
  • ServletContainerInitializer 中 contextDestroyed() 的等价物是什么?

    我必须创建一个实现的类ServletContextListener https docs oracle com javaee 7 api javax servlet ServletContextListener html在Tomcat初始化
  • 模板中的 Latex 指令导致“unicode 转义错误”

    我想在 play Framework 2 0 模板中包含一些 LaTEX 代码 即 usepackage T1 fontenc usepackage latin9 inputenc usepackage babel 当然玩抱怨error i
  • 当属性名称包含空格和保留字时,将 JSON 映射到 C# 类

    我正在使用 REST API 服务 在服务响应 JSON 中 存在包含空格和保留字的属性名称 我试图将其映射到 C 类 但无法分配与字段名称相同的属性名称 目前 只有当字段的 JSON 属性和 C 类名完全匹配时 映射才会成功 否则该值将如
  • 如何仅使用 math.h 将双精度数转换为字符串?

    我正在尝试将双精度数转换为本机 NT 应用程序中的字符串 即仅依赖于ntdll dll 不幸的是 ntdll 的版本vsnprintf不支持 f等 迫使我自己实现转换 之前所提ntdll dll只出口其中的一小部分math h功能 floo
  • 如何在单个浏览器页面上向 Dash 应用程序添加多个图表?

    如何在同一页面上添加多个图中显示的图表 我试图将 html Div 组件添加到以下代码中以更新页面布局 以在单页上添加更多图形 但这些新添加的图形不会显示在页面上 只有旧图形显示在图片中可见 我应该修改什么元素 比如说在浏览器上的破折号应用
  • maven-shade-plugin 报告:创建着色 jar 时出错:...target/classes(是一个目录)

    当使用 m2eclipse 工具在 eclipse 中为配置为以下项目的项目运行 Maven 构建时Maven 阴影插件 https maven apache org plugins maven shade plugin 构建失败并显示以下
  • ResponseEntity 不接受文本/csv:Spring Boot

    我正在尝试创建一个接受 CSV 和 json 正文请求等文件的 API 我尝试使用ResponseEntitySpring Boot 中的对象 端点如下所示 PostMapping value csv consumes MediaType
  • 左侧 div 在 bootstrap 中未正确对齐[重复]

    这个问题在这里已经有答案了 我的代码中已经有粘性标头 我正在尝试在左侧添加一个粘性 div 最初看起来不错 当我尝试滚动内容时 布局正在改变 此外 在最小尺寸 移动尺寸 时 左侧 div 未正确对齐 请建议 var onResize fun
  • 如何通过 RxJs 合并或 groupBy toPromise?

    我有以下方法返回结果 如下所示 result status 200 status 200 status 400 我需要使用状态值对结果进行分组 并且对于上面的示例结果仅返回 2 个结果 而不是 3 个 update this demoSer
  • 这个Makefile 有什么问题吗?

    当我在以下 Makefile 上运行 make all 时 出现此错误 Makefile 5 缺少分隔符 停止 这是什么问题以及如何修复它 LEX lex YACC yacc CC gcc calcu y tab o lex yy o CC
  • GCC 左移溢出

    下面的小程序在 Mac 上使用 GCC 版本 4 2 1 Apple Inc build 5664 非常尴尬 include
  • Node+Express+MongoDB Native Client 性能问题

    我正在使用 MongoDB 测试 Node js ExpressJS Fastify Python Flask 和 Java 带有 webflux 的 Spring Boot 的性能 我将所有这些示例应用程序相继托管在同一台服务器上 因此所
  • 如何调试 GLSL 着色器?

    我需要调试 GLSL 程序 但我不知道如何输出中间结果 是否可以使用 GLSL 进行一些调试跟踪 例如使用 printf 而不使用像 glslDevil 这样的外部软件 您无法轻松地从 GLSL 内部与 CPU 进行通信 使用 glslDe
  • 如何仅显示一次网站预加载器

    我向我的网站添加了预加载器 每次访问该网站时都会播放预加载器动画 我希望它在每次访问域名时只播放一次 任何点击网站上的主页按钮或浏览器中的后退按钮我希望跳过预加载器 我希望它在任何时候在新选项卡或新浏览器窗口中打开时都显示出来 我尝试添加c
  • Python 日志记录:覆盖日志时间

    下列的Python 的文档 http docs python org library logging html logging Formatter formatTime 我正在尝试覆盖logging Formatter converter以