Log技术

logging模块由logger,handler,filter,fomatter四个部分组成

logging.basicConfig函数各参数:

filename:指定日志文件名;

filemode:和file函数意义相同,指定日志文件的打开模式,'w'或者'a';

format:指定输出的格式和内容,format可以输出很多有用的信息,

参数 ----- 作用

%(levelno)s ----- 打印日志级别的数值

%(levelname)s ----- 打印日志级别的名称

%(pathname)s ----- 打印当前执行程序的路径,其实就是sys.argv[0]

%(filename)s ----- 打印当前执行程序名

%(funcName)s ----- 打印日志的当前函数

%(lineno)d ----- 打印日志的当前行号

%(asctime)s ----- 打印日志的时间

%(thread)d ----- 打印线程ID

%(threadName) ----- s打印线程名称

%(process)d ----- 打印进程ID

import logging  # 导出logging 模块
import datetime

def logger(name=__name__):    

    # 
logName = f"../logs/{datetime.datetime.now().strftime('%Y%m%d%H%M')}.log" 

logObject = logging.getLogger(name)    

logObject.setLevel(logging.INFO)  

rHandler=logging.FileHandler(logName,mode='w',encoding='utf-8')  

formater = logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[%(lineno)d]: %(message)s")    

rHandler.setFormatter(formater)    

logObject.addHandler(rHandler)   

return logObject

if __name__ == '__main__':  

log = logger()    
log.info("调试信息!")
  1. # 使用logger输出日志信息 级别
  2. logger.debug("debug");
  3. logger.info("info");
  4. logger.warning("warning");
  5. logger.error("error");
  6. logger.critical("critiacl");
posted @ 2021-03-08 16:08  太白之魔童降世  阅读(104)  评论(0)    收藏  举报