我正在使用导入日志记录来保存对 Bokeh 服务器的更改,并且我想将其保存到扩展名为 .log 的文件中,但是当我运行 Bokeh 服务器时,不会创建该文件,并且无法将操作保存到.log 文件。 下面是我写的部分代码。
是否是我在代码中犯了错误,或者 Bokeh 服务器没有按照日志记录工作?
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()
最佳答案
当您使用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')
关于python - 日志记录和 Python Bokeh 兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48754996/