Ori*_*che 4 python windows logging logrotate log-rotation
所以我做 logging.config.fileConfig 以从具有控制台和文件处理程序的文件配置设置我的日志记录。然后我做 logging.getLogger(name) 来获取我的记录器和日志。在某些时候,我希望文件处理程序的文件名更改,即日志轮换(由于 Windows 平台的某些问题,我无法使用时间轮换器),因此我调用 logger.handlers - 它显示一个空列表,所以我无法关闭它们!! 但是,当我单步调试调试器时,它显然不是空的(当然没有它我将无法正确登录)
不确定这里发生了什么,我遗漏了什么问题?
感谢任何帮助。谢谢。
看来您需要正确获取根记录器:
logger = logging.getLogger(__name__)
handlers = logger.handlers[:]
print('module {}'.format(handlers))
print('module {}'.format(logger.hasHandlers()))
logger = logging.getLogger('root')
handlers = logger.handlers[:]
print('root {}'.format(handlers))
print('root {}'.format(logger.hasHandlers()))
logger = logging.getLogger()
handlers = logger.handlers[:]
print('blank {}'.format(handlers))
print('blank {}'.format(logger.hasHandlers()))
Run Code Online (Sandbox Code Playgroud)
输出:
模块 []
模块真
根 []
根真
空白的
[<logging.handlers.RotatingFileHandler object at 0x108d82898>, <logging.StreamHandler object at 0x108d826d8>]空白 真
| 归档时间: |
|
| 查看次数: |
3024 次 |
| 最近记录: |