内建模块--logging

日志模块

级别:默认为warning级别。(高到低:critical、error、warning、info、debug、notset)所以,只打印warning及以上的警告

线程安全: 


例子:

logging.basicConfig(level=logging.DEBUG,

                   format='%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s ',

                   datefmt='%a,%d %b %Y %H:%M:%S',

                   filename='/tmp/test/test.log',

                   filemode='w'

                   )

format中参数:

   # %(asctime)s 为日志记录时间与datefmt格式对应。

   # %(filename)s 为记录的日志名称

   # %(lineno)s 为程序中触发的行号

   # %(levelname)s 为级别名称

   # %(message)s 为日志内容主题

   # %(levelno)d 为以数字形式记录级别

   # %(name)s 为logger的名字

   # %(levelname)s 为以文本形式记录日志级别

   # %(pathname)s 为调用日志输出函数的模块的完整路径名。

   # %(module)s 为调用日志输出函数的模块名

   # %(funcName)s 为调用日志输出函数的函数名

   # %(created)s 为当前时间,以浮点数表示。

   # %(thread)d 为线程ID

   # %(threadName)s 为线程名称

   # %(process)d 为进程ID

# filemode:追加‘a’,覆盖写‘w’

# filename:如果定义路径则表示日志保存的文件路径。如果没有filename则默认屏幕打印

# stream:

logging.debug('debug msg')

logging.info('info msg')

logging.warning('warning msg')

logging.error('error msg')

logging.critical('critical msg')


日志记录与屏幕打印同时输出

import logging

logger = logging.getLogger()

# 创建一个handler(文件输出流对象),用于写入日志文件

fh = logging.FileHandler('test.log')

# 创建一个handler(屏幕输出流对象),用于输出到控制台

ch = logging.StreamHandler()

# 创建格式对象

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

# fh对象设置为formatter格式

fh.setFormatter(formatter)

# ch对象设置为formatter格式

ch.setFormatter(formatter)

# 增加fh,ch对象到logger对象中

logger.addHandler(fh)

logger.addHandler(ch)

# 设置logger显示级别

logger.setLevel(logging.Debug)

logger.debug('debug msg')

logger.info('info msg')

logger.warning('warning msg')

logger.error('error msg')

logger.critical('critical msg')

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • From:Python之日志处理(logging模块) - 云游道士 - 博客园 https://www.cnbl...
    vigny的先生阅读 7,602评论 3 5
  • 常用模块 认识模块 什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文...
    go以恒阅读 6,228评论 0 6
  • Python logging 模块 参考 http://blog.csdn.net/zyz511919766/ar...
    ktide阅读 4,485评论 0 2
  • 很喜欢和F先生聊天,喜欢他幽默诙谐的语气,喜欢他坦率的表达方式。 即使我看不见F先生,仍然能想象得到他发消息时的表...
    言疯之阅读 2,994评论 0 0
  • 安东尼说:“这个世界上,有一条最寂寞的鲸鱼,叫Alice。这个世界上,有很多人都是Alice。”最初遇见这段文字,...
    神仙公子阅读 4,365评论 0 1

友情链接更多精彩内容