Python 日志,logging模块

demo.py(日志,输出到控制台):

import logging   # 导入logging模块

# 日志级别默认是WARNING
logging.basicConfig(level=logging.WARNING,  
                    format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')  

# 开始使用log功能
logging.info('这是 loggging info message')  
logging.debug('这是 loggging debug message')  
logging.warning('这是 loggging a warning message')  
logging.error('这是 loggging error message')  
logging.critical('这是 loggging critical message')

demo.py(日志,输出到文件):

import logging  

# 配置日志的输出文件,以及文件的打开方式
logging.basicConfig(level=logging.WARNING,  
                    filename='./log.txt',  
                    filemode='a',    # a表示追加的模式打开文件
                    format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')  
# use logging  
logging.info('这是 loggging info message')  
logging.debug('这是 loggging debug message')  
logging.warning('这是 loggging a warning message')  
logging.error('这是 loggging error message')  
logging.critical('这是 loggging critical message')


demo.py(日志,同时输出到文件和控制台):

import logging  

# 第一步,创建一个logger  
logger = logging.getLogger()  
logger.setLevel(logging.INFO)  # Log等级总开关  

# 第二步,创建一个handler,用于写入日志文件  
logfile = './log.txt'  
fh = logging.FileHandler(logfile, mode='a')  # mode表示文件的打开方式
fh.setLevel(logging.DEBUG)  # 输出到file的log等级的开关  

# 第三步,再创建一个handler,用于输出到控制台  
ch = logging.StreamHandler()  
ch.setLevel(logging.WARNING)   # 输出到console的log等级的开关  

# 第四步,定义handler的输出格式  
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")  
fh.setFormatter(formatter)  
ch.setFormatter(formatter)  

# 第五步,将logger添加到handler里面  
logger.addHandler(fh)  
logger.addHandler(ch)  

# 日志  
logger.debug('这是 logger debug message')  
logger.info('这是 logger info message')  
logger.warning('这是 logger warning message')  
logger.error('这是 logger error message')  
logger.critical('这是 logger critical message')

猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/84870871