前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python日志模块logging学习与快速复习笔记

python日志模块logging学习与快速复习笔记

作者头像
千灵域
发布2022-06-17 12:37:19
1490
发布2022-06-17 12:37:19
举报
文章被收录于专栏:challenge filter

因为内容比较简单,就不做学习总结了,全部内容归类为快速复习。 参考:

基础知识

日志级别

CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,如果将日志级别设置为INFO,则INFO以下的日志将不会输出。默认设置级别为WARNING。

常用函数

代码语言:javascript
复制
logging.basicConfig() # 使用一系列key-value值规定日志的基本配置信息,level规定输出的log级别,format定义输出log的格式,datafmt为输出的时间格式,filename为log文件名,filemode为打开log文件的模式。
logging.debug/info/warning/error/critical(str) #输出错误信息
logging.log(logging.DEBUG/..., str) #另外一种输出错误信息的方式


#可以使用如下代码将log信息同时输出到console上
console = logging.StreamHandler()                  # 定义console handler
console.setLevel(logging.INFO)                     # 定义该handler级别
formatter = logging.Formatter('%(asctime)s  %(filename)s : %(levelname)s  %(message)s')  #定义该handler格式
console.setFormatter(formatter)
# Create an instance
logging.getLogger().addHandler(console) 

例子

例1:控制台与文件输出

设置输出格式,同时输出到控制台与文件

代码语言:javascript
复制
#coding:utf-8
 
# =======================================================================
# FuncName: console_out.py
# Desc: output log to console and file
# Date: 2016-02-19 17:32
# Author: johnny
# =======================================================================
 
import logging
 
def console_out(logFilename):
    ''' Output log to file and console '''
    # Define a Handler and set a format which output to file
    logging.basicConfig(
                    level    = logging.DEBUG,              # 定义输出到文件的log级别,                                                            
                    format   = '%(asctime)s  %(filename)s : %(levelname)s  %(message)s',    # 定义输出log的格式
                    datefmt  = '%Y-%m-%d %A %H:%M:%S',                                     # 时间
                    filename = logFilename,                # log文件名
                    filemode = 'w')                        # 写入模式“w”或“a”
    # Define a Handler and set a format which output to console
    console = logging.StreamHandler()                  # 定义console handler
    console.setLevel(logging.INFO)                     # 定义该handler级别
    formatter = logging.Formatter('%(asctime)s  %(filename)s : %(levelname)s  %(message)s')  #定义该handler格式
    console.setFormatter(formatter)
    # Create an instance
    logging.getLogger().addHandler(console)           # 实例化添加handler
 
    # Print information              # 输出日志级别
    logging.debug('logger debug message')     
    logging.info('logger info message')
    logging.warning('logger warning message')
    logging.error('logger error message')
    logging.critical('logger critical message')
 
if __name__ == "__main__":
    console_out('logging.log')

控制台

代码语言:javascript
复制
2016-03-06 14:38:49,714  console_out.py : INFO  logger info message
2016-03-06 14:38:49,714  console_out.py : WARNING  logger warning message
2016-03-06 14:38:49,714  console_out.py : ERROR  logger error message
2016-03-06 14:38:49,714  console_out.py : CRITICAL  logger critical message

文件logging.log

代码语言:javascript
复制
2016-03-06 Sunday 14:38:49  console_out.py : DEBUG  logger debug message
2016-03-06 Sunday 14:38:49  console_out.py : INFO  logger info message
2016-03-06 Sunday 14:38:49  console_out.py : WARNING  logger warning message
2016-03-06 Sunday 14:38:49  console_out.py : ERROR  logger error message
2016-03-06 Sunday 14:38:49  console_out.py : CRITICAL  logger critical message
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础知识
    • 日志级别
      • 常用函数
      • 例子
        • 例1:控制台与文件输出
        相关产品与服务
        日志服务
        日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档