005python中日志模块logging的使用
1.logging基本语法
import logging
"""主要用于日志信息的处理,打印输出保存细节"""
def log_base():
"""
基本用法
:return: None
"""
print('this is logging')
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s | %(levelname)s | %(filename)s : %(lineno)s | %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
)
def log_level():
"""
日志级别
:return: None
"""
logging.debug('this is dubug')
logging.info('this is info')
logging.warning('this is warning')
logging.error('this is error')
logging.critical('this is critical')
def log_print():
"""
日志打印,几种不同的打印方式
:return: None
"""
name = 'alice'
age = 18
logging.debug('姓名 %s,年龄 %d', 'jack', 20)
logging.debug('姓名 %s,年龄 %d', name, age)
logging.debug('姓名 %s,年龄 %d' % (name, age))
logging.debug('姓名 {},年龄 {}'.format('jack', 20))
logging.debug(f'姓名 {name},年龄 {age}')
def log_senior():
"""
高级用法,记录器(笔),处理器(显示位置屏幕),过滤器(显示特定信息)
:return: None
"""
logger = logging.getLogger('cn.ccb.pen')
logger.setLevel(logging.DEBUG)
print(logger, type(logger))
sh = logging.StreamHandler()
sh.setLevel(logging.INFO)
fh = logging.FileHandler(
filename='../demo.log'
)
formatter = logging.Formatter(
'%(asctime)s | %(levelname)8s | %(filename)s : %(lineno)s | %(message)s')
sh.setFormatter(formatter)
fh.setFormatter(formatter)
logger.addHandler(sh)
logger.addHandler(fh)
flt = logging.Filter('cn.ccb')
logger.debug('this is dubug')
logger.info('this is info')
logger.warning('this is warning')
logger.error('this is error')
logger.critical('this is critical')
if __name__ == '__main__':
log_senior()
pass