1. 程式人生 > >日誌輸出:控制臺和log文件輸出日誌

日誌輸出:控制臺和log文件輸出日誌

等級 oca localtime bug formatter hand eve ogg local

self_log.py 中

import os
import logging
import time

# 如果日誌文件夾不存在,則創建
log_dir = "log"  # 日誌存放文件夾名稱
log_path = os.getcwd() + os.sep + log_dir
if not os.path.isdir(log_path):
    os.makedirs(log_path)

# 設置logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
main_log_handler = logging.FileHandler(
    log_dir + "/email_main_%s.log" % time.strftime("%Y-%m-%d_%H-%M-%S", time.localtime(time.time())), mode="w+",
    encoding="utf-8")
main_log_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
main_log_handler.setFormatter(formatter)
logger.addHandler(main_log_handler)

# 控制臺打印輸出日誌
console = logging.StreamHandler()  # 定義一個StreamHandler,將INFO級別或更高的日誌信息打印到標準錯誤,並將其添加到當前的日誌處理對象
console.setLevel(logging.INFO)  # 設置要打印日誌的等級,低於這一等級,不會打印
formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")
console.setFormatter(formatter)
logging.getLogger(‘‘).addHandler(console)

  

其他文件要使用時,在其他文件中導入:如

import self_log
from self_log import logger

  

日誌輸出:控制臺和log文件輸出日誌