我有一个sagemaker实例运行jupyter笔记本。我想使用python的日志模块写入日志文件,但它不起作用
我的代码非常简单:
import logging
logger = logging.getLogger()
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(name)s - %(message)s", datefmt="%y/%m/%d %H:%M:%S")
fhandler = logging.FileHandler("taxi_training.log")
fhandler.setFormatter(formatter)
logger.addHandler(fhandler)
logger.debug("starting log...")
这应该会在我的文件taxi_training.log中写一行,但它没有
我尝试使用importlib中的reload函数,还尝试显式地将输出流设置为sys.stdout。没有任何内容记录到文件或cloudwatch中
我是否需要向我的Sagemaker实例添加任何内容才能正常工作
Python日志模块需要一个日志级别和一个或多个处理程序来处理输出。默认情况下,日志记录级别设置为警告(30),并使用该级别的标准输出处理程序。如果未明确定义日志级别和/或处理程序,则这些设置将从父根日志记录器设置继承。可以通过在代码底部添加以下行来验证这些设置:
实例化处理程序和设置日志级别的最简单方法是运行logging.basicConfig()函数(文档)。这将在根记录器级别设置日志记录级别和标准输出处理程序,它将传播到在同一代码中创建的任何子记录器。下面是使用提供的代码的示例:
相关问题 更多 >
编程相关推荐