[python] logging输出到控制台(标准输出)

要将logging.info输出到控制台(标准输出),可以使用以下代码:

import logging

# 创建一个logger对象
logger = logging.getLogger(__name__)

# 创建一个控制台处理器
console_handler = logging.StreamHandler()

# 设置控制台处理器的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_handler.setFormatter(formatter)

# 将控制台处理器添加到logger对象中
logger.addHandler(console_handler)

# 输出日志信息
logger.info('Hello, world!')

在上面的示例中,我们首先创建一个名为__name__的logger对象。然后,我们创建一个StreamHandler,并将其格式化。最后,我们将该StreamHandler添加到logger对象中。

现在,每当你在代码中使用logger.info方法时,日志信息将被输出到控制台。在这种情况下,

输出格式为:时间戳 - logger名称 - 日志级别 - 日志信息。

请注意,logger.info只输出信息级别为INFO或更高级别的日志信息。如果你要输出所有级别的日志信息,请使用logger.setLevel(logging.DEBUG)来设置日志级别为DEBUG。

如果日志还没有正常输出

  1. 方法一

添加

logger.setLevel(logging.DEBUG)
  1. 方法二

在Linux中,标准输出通常是控制台的默认输出。如果你在Windows上运行此代码,则需要将LogRecord输出到标准输出流(sys.stdout)。这可以通过在创建StreamHandler对象时显式设置stream=sys.stdout来完成,如下所示:

console = logging.StreamHandler(stream=sys.stdout)
  1. 方法三
logging.debug = print
logging.info = print
logging.warning = print
logging.error = print

你可能感兴趣的:(python)