1

我写了一些脚本来渲染场景并希望在我使用打印的控制台上看到输出,但它不适用于我应该用来打印的东西。

我运行脚本:

blender -b -P render.py

想要从 render.py 输出这样的字符串:

print '#' * 80

这是一个微不足道的问题,但打印不起作用,并且不知道如何在没有调试消息的情况下进行开发。

4

1 回答 1

2

使用日志记录模块来设置您的自定义记录器。

您可以设置控制台处理程序以将内容记录到控制台或/和

formatter = logging.Formatter('%(message)s')
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setFormatter(formatter)

如果要记录到文件,请设置文件处理程序:

file_handler = logging.FileHandler(log_file)
file_handler.setFormatter(formatter)

# Add the handler to the logger:
logger.addHandler(console_handler)
logger.addHandler(file_handler)

它们都可以有不同的日志级别,您可以通过脚本或环境变量设置:

log_level = level
if 'LOG_LEVEL' in os.environ:
    log_level = os.environ['LOG_LEVEL']
console_handler.setLevel(log_level)
file_handler.setLevel('INFO')

阅读槽: https ://docs.python.org/3/howto/logging.html

于 2016-03-10T09:48:43.043 回答