python将日志输出到控制台及文件
程序员文章站
2022-07-15 15:54:31
...
'''------------------------------------------------------------------
存储过程:
功能描述:日志函数
作者:YQ
版本: v1.0
调用范例:
-------------------------------------------------------------------'''
import os
import sys
import time
import logging
#Sys data [yyyymmdd]
sysDate=time.strftime("%Y%m%d", time.localtime())
#获取运行脚本名
FileName=sys.argv[0].split(".")[0].split("/")[-1]
#日志参数定义
logPath="D:/log/"+sysDate
logFile=FileName+".log"
#日志函数
def Log():
isExists = os.path.exists(logPath)
if not isExists:
os.makedirs(logPath)
os.chdir(logPath)
else:
os.chdir(logPath)
# 第一步,创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.DEBUG) # Log等级总开关
# 第二步,创建handler
# 用于写入日志文件
fh = logging.FileHandler(logFile, mode='a')
fh.setLevel(logging.DEBUG) # 输出到file的log等级的开关
# 输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG) # 输出到console的log等级的开关
# 第三步,定义handler的输出格式
formatter = logging.Formatter("[%(asctime)s] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 第四步,将logger添加到handler里面
logger.addHandler(fh)
logger.addHandler(ch)
Log()
#Debug日志
def Debug_Log(*info):
logging.getLogger().debug(*info)
#Error日志
def Error_Log(*err):
logging.getLogger().error(*err)