1
我是新来的日志和蟒蛇,并找到了一个名为logbook
,我想使用的库。我正在尝试某种包装intiliaze
日志文件,然后我可以从不同的文件调用它。创建一个日志包装
但我不断收到错误。我究竟做错了什么?
self.stream = io.open(self._filename, mode, encoding=self.encoding)
TypeError: expected str, bytes or os.PathLike object, not NoneType
logger.py
from logbook import Logger, StreamHandler
from logbook import FileHandler
import sys
import os
log = Logger()
initialized = False
def make_log_dir_if_missing(log_dir):
import cheetax.utils.system
cheetax.system.make_directory(log_dir)
def initialize_logger(path=None):
global initialized, log
if initialized:
return
if path is not None:
make_log_dir_if_missing(path)
log_path = os.path.join(path, 'logger.log')
log_handler = FileHandler(path)
log_handler.push_application()
initialized = True
GLOBAL_LOGGER = log
cli.py
def main():
initialize_logger()
其他文件
logger.info(welcome)
任何你没有使用标准Python ['logging'](https://docs.python.org/3/library/logging.html)库的理由? –
不是真的如果你可以提供任何最小的解决方案,像上面的im打开它 –
这是一个写入文件的快速示例。 https://docs.python.org/2/howto/logging.html#logging-to-a-file –