不要将logger.info()语句保留在nohup.out中。

6

我在服务器上编写了一个Flask应用程序。 我使用以下方式运行它:

export FLASK_APP=mypyhthonfile
nohup flask run --host=host-ip --port=port-number

这个Python脚本有类似于以下的日志记录语句:

Logger.info("this is a log")

日志记录语句既在记录器文件中打印,也在 nohup.out 中打印。

有什么方法可以避免在 nohup.out 中打印日志记录语句吗?


您可以禁用标准错误日志记录,但从您的问题陈述中并不清楚这是否是您实际想要的。 - tripleee
我希望logger.info()语句(在Python脚本中)不会被写入nohup.out文件。 - Akash Goyal
配置日志输出到文件。https://docs.python.org/3/howto/logging.html - tripleee
1
@tripleee 我已经做了这个,问题是日志同时存储在 nohup.outpython 日志文件 中;而它应该只存储在 python 日志文件中。 - Akash Goyal
1个回答

0

你需要将日志记录器设置在比根日志记录器更低的级别:

在这个例子中,我将根日志记录器设置为 logging.WARNING (30) 级别,而我的 test_logger 设置为 logging.DEBUG (10) 级别,因此根日志记录器(nohup 正在监听的)不会打印任何东西(只有你打印的字符串或者高于 30 的日志级别),而 example.log 中有一些日志级别比 logger 的级别更高。

import logging
logging.basicConfig(filename='example.log', level=logging.WARNING)
test_logger = logging.getLogger('test')
test_logger.setLevel(level=logging.DEBUG)

谢谢回答。我会检查并告诉你。 - Akash Goyal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接