python-logging输出到stdout和file

214 阅读1分钟
import logging
import logging.handlers

# 指定格式
name = "logName"
logger = logging.getLogger(name)
formatter = logging.Formatter('%(asctime)s - %(process)d-%(threadName)s - '
                              '%(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s')
                              
# 输出到stdout
console_handler = logging.StreamHandler()
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)

# 输出到log.txt
file_handler = logging.handlers.RotatingFileHandler(
    "log.txt", maxBytes=10485760, backupCount=5, encoding="utf-8")
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)

logger.error("除法溢出错误!")