Python学习之logging模块

Python自带日志处理模块logging

默认的日志级别有DEBUG,INFO,WARNING,ERROR,CRITICAL,对应的函数是debug(),info(),warning(),error()和critical()

In [490]: import logging

In [491]: LOG_FILENAME=‘/tmp/example.log‘

In [492]: logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)

In [493]: logging.debug(‘This message should go to the log file‘)

查看/tmp/example.log的内容

$ cat /tmp/example.log 
DEBUG:root:This message should go to the log file

不断执行

logging.debug(‘This message should go to the log file‘)

/tmp/example.log会不断地刷新

日志轮转

In [639]: import glob

In [640]: import logging

In [641]: import logging.handlers

In [642]: LOG_FILENAME=‘/tmp/logging_rotatingfile_example.out‘

In [643]: my_logger=logging.getLogger(‘MyLogger‘)

In [644]: my_logger.setLevel(logging.DEBUG)

In [645]: handler=logging.handlers.RotatingFileHandler(LOG_FILENAME,maxBytes=20,backupCount=5)

In [646]: my_logger.addHandler(handler)

In [648]: for i in range(20):
    my_logger.debug(‘i=%d‘ % i)
   .....:     
   .....:     

In [650]: logfiles=glob.glob(‘%s*‘ %LOG_FILENAME)

In [651]: for filename in logfiles:
   .....:     print filename
   .....:     
   .....:     
/tmp/logging_rotatingfile_example.out.1
/tmp/logging_rotatingfile_example.out.2
/tmp/logging_rotatingfile_example.out.5
/tmp/logging_rotatingfile_example.out.3
/tmp/logging_rotatingfile_example.out.4
/tmp/logging_rotatingfile_example.out

最近的日志文件总是名为logging_rotatingfile_example.out,一旦大小达到maxBytes设置的20字节,就将轮转。

logging模块最重要的一个功能就是可以根据设置的不同的日志级别输出不同的日志信息。

参考文档:

https://docs.python.org/2.6/library/logging.html#configuration-file-format

时间: 2024-08-04 01:57:43

Python学习之logging模块的相关文章

python学习:logging模块

很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug(), info(), warning(), error() and critical() 5个级别,下面我们看一下怎么用. 最简单用法 1 2 3 4 5 6 7 8 import logging logging.warning("user [alex] attempt

python 学习笔记 -logging模块(日志)

模块级函数 logging.getLogger([name]):返回一个logger对象,如果没有指定名字将返回root loggerlogging.debug().logging.info().logging.warning().logging.error().logging.critical():设定root logger的日志级别logging.basicConfig():用默认Formatter为日志系统建立一个StreamHandler,设置基础配置并加到root logger中 日志

python学习-57 logging模块

logging 1.basicConfig方式 import logging # 以下是日志的级别 logging.debug('debug message') logging.info('info message') logging.warning('warning msg') logging.error('error msg') logging.critical('critical msg') 设置级别: logging.basicConfig(level=logging.DEBUG) 如果

Python学习之cookielib模块

cookielib是一个用于处理客户端HTTP cookie的模块 https://docs.python.org/2/library/cookielib.html?highlight=cookielib#cookielib In [191]: import cookielib,urllib2 In [192]: cj=cookielib.CookieJar() In [193]: openner=urllib2.build_opener(urllib2.HTTPCookieProcessor(

python 的日志logging模块介绍

最近在写使用python生成App的程序,发现直接用print打印信息不太方便和规范,所以使用了logging日志模块,简单记录下用法,正式项目中应该使用logging.config配置日志,可以实现类似log4j的日志文件大小限制,格式控制,输出位置等. 1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning(

在python中使用logging模块

import logging logging.basicConfig(level=logging.INFO, filename='mylog.log') logging.info('Starting program') logging.info('Trying to divide 1 by 0') print 1 / 0 logging.info('The division succeeded') logging.info('Ending program') 在python中使用logging模

python 的日志logging模块学习

最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 下面的代码展示了logging最基本的用法. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 # -*- cod

python中的logging模块学习

Python的logging模块 Logging的基本信息: l  默认的情况下python的logging模块打印到控制台,只显示大于等于warning级别的日志 l  日志级别:critical > error > warning > info > debug > notset Logging的基本组件: 1.   logger l  logger是一个树形层级结构,输出信息之前都要获得一个logger l  logger = logging.getLogger() 返回

python 的日志logging模块学习【转】

1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message') 屏幕上打印: WARNING:root:This is warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING: 日志级别大小关系为:CRITICAL > E