记录和Python散景兼容性

时间:2018-02-12 20:27:42

标签: python logging bokeh

我正在使用导入日志记录来保存对我的散景服务器的更改,并且我想将其保存到扩展名为.log的文件中,但是当我运行散景服务器时,文件未创建且无法保存操作.log文件。 我在下面写了一部分代码。

可能是因为我在代码或散景服务器中犯了错误,它是否与日志记录无关?

import logging
LOG_FORMAT = "%(levelname)s %(asctime)s - %(message)s"
logging.basicConfig(filename = "test.log",
                level = logging.DEBUG,
                format = LOG_FORMAT,
                filemode="w")
logger = logging.getLogger()

1 个答案:

答案 0 :(得分:0)

当您使用bokeh serve %some_python_file%时,Bokeh服务器会立即启动,但只有在您实际打开指向您填写该代码的Bokeh文档的URL时才会执行您的代码。

bokeh serve也使用logging.basicConfig配置日志记录,再次调用此函数不会覆盖任何内容 - 这就是logging.basicConfig的工作方式。

您应该直接创建和配置自己的记录器,而不是直接使用logging

LOG_FORMAT = "%(levelname)s %(asctime)s - %(message)s"
file_handler = logging.FileHandler(filename='test.log', mode='w')
file_handler.setFormatter(logging.Formatter(LOG_FORMAT))
logger = logging.getLogger(__name__)
logger.addHandler(file_handler)
logger.setLevel(logging.DEBUG)

logger.info('Hello there')