python的logging模块格式化输出到控制台、文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的logging模块格式化输出到控制台、文件相关的知识,希望对你有一定的参考价值。

参考技术A logger提供了应用程序可以直接使用的接口;

handler将(logger创建的)日志记录发送到合适的目的输出;

filter提供了细度设备来决定输出哪条日志记录;

formatter决定日志记录的最终输出格式。

控制台彩色显示用到colorama模块
修改Fore.WHITE即可修改相应的颜色

python中logging模块的使用

# 作者:薛志军

怎么将日志输出到控制台
import logging

logging.basicConfig(
filename=‘logging_test‘, # 文件名
level=logging.DEBUG, # 输出等级起步
format =‘%(asctime)s:%(levelname)s‘,
)

logging.debug(‘11111111‘)

将日志同时输出到控制台和文件中
# 作者:薛志军
import logging


class IgnoreFilter(logging.Filter):
def filter(self, record):
return ‘222222‘ not in record.getMessage()


logger = logging.getLogger(‘Mysql‘) # 生成logger对象
logger.setLevel(logging.DEBUG) # 默认级别为Warning
logger.addFilter(IgnoreFilter())

console = logging.StreamHandler() # 输出到屏幕
console.setLevel(logging.INFO)

file = logging.FileHandler(‘MySql.log‘) # 输出到文件
file.setLevel(logging.WARNING)

logger.addHandler(console) # 把handler对象绑定到logger
logger.addHandler(file)

console_format = logging.Formatter(‘%(asctime)s-%(name)s-%(levelname)s-%(message)s‘) # 为屏幕输出设置模式
console.setFormatter(console_format)

file_format = logging.Formatter(‘%(asctime)s-%(name)s-%(levelname)s-%(message)s‘) # 为文件输入涉资模式
file.setFormatter(file_format)

logger.debug(‘这是一个Debug‘)
logger.info(‘这是一个info‘)
logger.info(‘2222‘)

以上是关于python的logging模块格式化输出到控制台、文件的主要内容,如果未能解决你的问题,请参考以下文章

python logging 模块

python中logging模块的使用

python+Appium自动化:日志logging模块

python常用模块——logging

Python_logging在多模块项目中日志输出应用

Python logging模块