草庐IT

FileHandler

全部标签

Python multiprocessing+logging.FileHandler

我正在尝试在多处理服务器中实现日志记录。根据文档,“不支持从多个进程记录到单个文件”。我创建了一个小程序来检查这个语句:importloggingimportmultiprocessingimportoslog=logging.getLogger()defsetup_logger():formatter=logging.Formatter('%(asctime)s%(name)s%(levelname)s:%(message)s')fileHandler=logging.FileHandler('test.log')fileHandler.setFormatter(formatter)

python - 如何在 Python 中获取 logging.FileHandler 的文件名?

logging.FileHandler是用文件名构造的,那么有没有办法从logging.FileHandler对象中获取文件名?我尝试了dir(logging.FileHandler)但没有看到任何可能的解决方案。 最佳答案 >>>importlogging>>>fh=logging.FileHandler('/Users/defuz/test.txt')>>>fh.baseFilename'/Users/defuz/test.txt'>>>fh.stream.name'/Users/defuz/test.txt'

python - python 记录器配置文件中 FileHandler 的动态文件路径和文件名

我有一个python日志配置文件,其中包含以下形式的文件处理程序。[handler_filelog]class:FileHandlerargs=('/var/tmp/log/client.log','a')相反,我需要以下形式(动态生成的路径)。[handler_filelog]class:FileHandlerargs=('/var/tmp/log_/client.log','a')程序的多个实例可能正在运行,因此将使用不冲突的日志路径和文件。记录器一旦设置就不需要更改,直到程序执行结束。有没有办法使用配置文件方法来处理这个问题?我不热衷于自己创建记录器/处理程序/格式化程序,因为我