1.logging使用
logger = logging.getLogger(self.logger_name)
logger.setLevel(level=logging.INFO) # 设置全局级别
# header = logging.StreamHandler()
header = logging.FileHandler(self.log_file)
# 设置输出格式
fmt = 'pid: <%(process)d> - %(asctime)s - %(filename)s:%(lineno)s - %(levelname)s - %(message)s'
formatter = logging.Formatter(fmt=fmt)
header.setFormatter(formatter)
logger.addHandler(header)
2.Formatter格式
%a-星期几的缩写
%A-工作日全名
%b-月份的缩写
%B-完整的月份名称
%c-首选的日期和时间表示
%C-世纪数(年份固定为100,范围为00到99)
%d-每月的某天(01到31)
%D-与%m /%d /%y相同
%e-每月的某天(1到31)
%g-与%G类似,但没有世纪
%G-4位数字的年份,对应于ISO周编号(请参见%V)。
%h-与%b相同
%H-小时,使用24小时制(00到23)
%I-小时,使用12小时制(01到12)
%j-一年中的某天(001至366)
%m-月(01到12)
%M-分钟
%n-换行符
%p-根据给定的时间值是上午还是下午
%r-上午和下午的时间符号
%R-24小时表示法中的时间
%S-秒
%t-制表符
%T-当前时间,等于%H:%M:%S
%u-工作日(从1到7),星期一= 1。警告:在Sun Solaris Sunday = 1
%U-当年的星期数,从第一个星期天的第一个星期日开始
%V-当年的ISO 8601周号(01到53),其中第1周是当年中至少有4天的第一周,而星期一为该周的第一天
%W-当年的星期数,从第一个星期一作为第一个星期的第一天开始
%w-以小数表示的星期几,星期日= 0
%x-不带时间的首选日期表示
%X-不带日期的首选时间表示
%y-没有世纪的年份(范围从00到99)
%Y-包括世纪在内的年份
%Z或%z-时区或名称或缩写
%(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 用户输出的消息