Python之logging模块介绍及使用

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点:

  1. 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息;
  2. print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地方,以及怎么输出;

 

# 获取logger实例,如果参数为空则返回root logger

logger = logging.getLogger("AppName")

# 指定logger输出格式

formatter = logging.Formatter('%(asctime)s %(levelname)-8s: %(message)s')

# 文件日志

file_handler = logging.FileHandler("test.log")

file_handler.setFormatter(formatter) # 可以通过setFormatter指定输出格式

# 控制台日志

console_handler = logging.StreamHandler(sys.stdout)

console_handler.formatter = formatter # 也可以直接给formatter赋值

# 为logger添加的日志处理器,可以自定义日志处理器让其输出到其他地方

logger.addHandler(file_handler)

logger.addHandler(console_handler)

# 指定日志的最低输出级别,默认为WARN级别

logger.setLevel(logging.INFO)

# 输出不同级别的log

logger.debug('this is debug info')

logger.info('this is information')

logger.warn('this is warning message')

logger.error('this is error message')

logger.fatal('this is fatal message, it is same as logger.critical')

logger.critical('this is critical message')

# 2016-10-08 21:59:19,493 INFO : this is information

# 2016-10-08 21:59:19,493 WARNING : this is warning message

# 2016-10-08 21:59:19,493 ERROR : this is error message

# 2016-10-08 21:59:19,493 CRITICAL: this is fatal message, it is same as logger.critical

# 2016-10-08 21:59:19,493 CRITICAL: this is critical message

# 移除一些日志处理器

logger.removeHandler(file_handler)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值