gpt4 book ai didi

python - 如何覆盖python cli模块中的默认 "logfile"?

转载 作者:太空宇宙 更新时间:2023-11-03 19:26:03 24 4
gpt4 key购买 nike

我正在尝试使用:

http://packages.python.org/pyCLI/#cli-log-logging-applications

特别是cli.log.LoggingApp,它会自动为您提供-l --logfile选项。覆盖默认 logfile 属性的最佳方法是什么?如果未提供 -l,则默认为 None,并且输出将转到 stdout

我想将其默认为硬编码的本地文件名。

更新:我想根据可选的 --dir=rundir 参数的值设置日志文件位置。我认为这更复杂,因为您需要解析参数以了解要用来创建日志文件名称的“dir”的值。我认为最好的解决方法是“手动”运行初始预运行和设置脚本并自己操作记录器设置。

最佳答案

您可以通过向装饰器提供 logfile kwarg 来默认此文件名:

import cli.log


@cli.log.LoggingApp(logfile='default.log')
def foo(app):
print "I'm in the app!"
app.log.error("Things are seriously wrong!")


if __name__ == "__main__":
foo.run()

这样做的唯一问题(至少我可以看到)是生成的帮助是错误的。它仍然声明默认值为 stdout (即从版本 2.0.2 开始)。看起来帮助文本是硬编码在 LoggingMixin 类中的。

关于python - 如何覆盖python cli模块中的默认 "logfile"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8073488/

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