gpt4 book ai didi

python - 创建日志包装器

转载 作者:太空宇宙 更新时间:2023-11-04 05:01:58 25 4
gpt4 key购买 nike

我是日志记录和 python 的新手,并且找到了一个名为 logbook 的库,我想使用它。我正在尝试使用某种包装器 intiliaze 日志文件,然后我可以从不同的文件中调用它。

但我一直低于错误。我做错了什么?

self.stream = io.open(self._filename, mode, encoding=self.encoding)
TypeError: expected str, bytes or os.PathLike object, not NoneType

logger.py

from logbook import Logger, StreamHandler
from logbook import FileHandler
import sys
import os

log = Logger()

initialized = False

def make_log_dir_if_missing(log_dir):
import cheetax.utils.system
cheetax.system.make_directory(log_dir)

def initialize_logger(path=None):
global initialized, log

if initialized:
return

if path is not None:
make_log_dir_if_missing(path)
log_path = os.path.join(path, 'logger.log')

log_handler = FileHandler(path)
log_handler.push_application()


initialized = True


GLOBAL_LOGGER = log

cli.py

def main():
initialize_logger()

其他文件

logger.info(welcome)

最佳答案

问题是您没有提供默认的日志记录目录,因此行 log_handler = FileHandler(path)当您不将任何内容传递给 initialize_logger() 时将会失败.只需将 and else 添加到 if path is None设置 path 的语句到某个位置:)


更好的是,只需更改 path=Nonepath='/path/to/default.log'什么的。

关于python - 创建日志包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45494814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com