标签:记录 Matter ted 生成 lte UNC AC 模块 span
import logging # # # logging.warning("user [alex] attempted wrong password more than 3 times") # logging.critical("server is down") logging.basicConfig(filename=‘log_test.log‘, level=logging.DEBUG, format=‘%(asctime)s:%(levelname)s:%(filename)s:%(funcName)s:%(lineno)d:%(process)d %(message)s‘, datefmt=‘%Y-%m-%d %I:%M:%S %p‘) def sayhi(): logging.error("from sayhi....") sayhi() logging.debug(‘This message should go to the log file‘) logging.info(‘So should this‘) logging.warning(‘And this, too‘)
%(name)s | Logger的名字 |
---|---|
%(levelno)s | 数字形式的日志级别 |
%(levelname)s | 文本形式的日志级别 |
%(pathname)s | 调用日志输出函数的模块的完整路径名,可能没有 |
%(filename)s | 调用日志输出函数的模块的文件名 |
%(module)s | 调用日志输出函数的模块名 |
%(funcName)s | 调用日志输出函数的函数名 |
%(lineno)d | 调用日志输出函数的语句所在的代码行 |
%(created)f | 当前时间,用UNIX标准的表示时间的浮 点数表示 |
%(relativeCreated)d | 输出日志信息时的,自Logger创建以 来的毫秒数 |
%(asctime)s | 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒 |
%(thread)d | 线程ID。可能没有 |
%(threadName)s | 线程名。可能没有 |
%(process)d | 进程ID。可能没有 |
%(message)s | 用户输出的消息 |
Python 使用logging模块记录日志涉及四个主要类,使用官方文档中的概括最为合适:
四个类如何用: import logging class IgnoreBackupLogFilter(logging.Filter): """忽略带db backup 的日志""" def filter(self, record): #固定写法 return "db backup" not in record.getMessage() #1、生成logger对象 logger = logging.getLogger(‘web‘) logger.setLevel(logging.DEBUG)#设置输出级别 # 全局的输出级别是最高的,如果这里设置了,handler就没用了 全局如果不设置的话,就是warning #要让handler有用,全局的级别要设到比handler最低 #1.1 把filter对象添加到logger中 logger.addFilter(IgnoreBackupLogFilter()) #2、生成 handler对象 ch = logging.StreamHandler() #到屏幕的handler ch.setLevel(logging.INFO) #屏幕输出debug级别 fh = logging.FileHandler(‘web.log‘) #到文件的handler fh.setLevel(logging.WARNING) #文件输出warning级别 #2.1 把handler对象绑定到logger logger.addHandler(ch) logger.addHandler(fh) #3、生成formatter对象 file_formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘) console_formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(lineno)d - %(message)s‘) #3.1把formatter对象绑定handler对象 ch.setFormatter(console_formatter) #和handler绑定 fh.setFormatter(file_formatter) logger.debug("test log") logger.info("test log2") logger.info("test db backup log") logger.warning("test log3")
标签:记录 Matter ted 生成 lte UNC AC 模块 span
原文地址:https://www.cnblogs.com/yelublue/p/9029918.html