日志等级 

  日志等级: 'DEBUG', 'INFO', 'WARNING', 'WARN', 'ERROR', 'FATAL',  'CRITICAL',

  对应方法: debug      info       warning   warn      error       fatal       critical        exception

  

  等级值:

     CRITICAL = 50

    FATAL = CRITICAL
    ERROR = 40
    WARNING = 30
    WARN = WARNING
    INFO = 20
    DEBUG = 10
    NOTSET = 0

  

  等级说明:

    DEBUG:详细的信息,通常只出现在诊断问题上

    INFO:确认一切按预期运行

    WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。

    ERROR:个更严重的问题,软件没能执行一些功能

    CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行

 

      异常跟踪信息,以ERROR级别记录,被自动添加到日志消息里。Logger.exception通过用在异常处理块中.

 

format 格式

  %(name)s     Name of the logger (logging channel)
  %(levelno)s     Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL)
  %(levelname)s   Text logging level for the message ("DEBUG", "INFO","WARNING", "ERROR", "CRITICAL")
  %(pathname)s   Full pathname of the source file where the logging call was issued (if available)
  %(filename)s     Filename portion of pathname
  %(module)s    Module (name portion of filename)
  %(lineno)d        Source line number where the logging call was issued (if available)
  %(funcName)s    Function name
  %(created)f      Time when the LogRecord was created (time.time() return value)
  %(asctime)s     Textual time when the LogRecord was created
  %(msecs)d       Millisecond portion of the creation time
  %(relativeCreated)d   Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded (typically at application startup time)
  %(thread)d      Thread ID (if available)
  %(threadName)s  Thread name (if available)
  %(process)d    Process ID (if available)
  %(message)s   The result of record.getMessage(), computed just as the record is emitted

 

BASIC_FORMAT', 'BufferingFormatter', 'CRITICAL', 'DEBUG','ERROR',

'FATAL', 'FileHandler', 'Filter', 'Formatter', 'Handler', 'INFO',
'LogRecord', 'Logger', 'LoggerAdapter', 'NOTSET',
'StreamHandler', 'WARN', 'WARNING', 'addLevelName', 'basicConfig',
'critical', 'debug', 'disable', 'error',
'exception', 'fatal', 'getLevelName', 'getLogger', 'getLoggerClass',
'info', 'log', 'makeLogRecord', 'setLoggerClass', 'warn', 'warning'

 

有多中可用的Handler:

logging.StreamHandler 可以向类似与sys.stdout或者sys.stderr的任何文件对象(file object)输出信息
logging.FileHandler 用于向一个文件输出日志信息
logging.handlers.RotatingFileHandler 类似于上面的FileHandler,但是它可以管理文件大小。当文件达到一定大小之后,它会自动将当前日志文件改名,然后创建一个新的同名日志文件继续输出
logging.handlers.TimedRotatingFileHandler 和RotatingFileHandler类似,不过,它没有通过判断文件大小来决定何时重新创建日志文件,而是间隔一定时间就自动创建新的日志文件
logging.handlers.SocketHandler 使用TCP协议,将日志信息发送到网络。
logging.handlers.DatagramHandler 使用UDP协议,将日志信息发送到网络。
logging.handlers.SysLogHandler 日志输出到syslog
logging.handlers.NTEventLogHandler 远程输出日志到Windows NT/2000/XP的事件日志 
logging.handlers.SMTPHandler 远程输出日志到邮件地址
logging.handlers.MemoryHandler 日志输出到内存中的制定buffer
logging.handlers.HTTPHandler 通过"GET"或"POST"远程输出到HTTP服务器
各个Handler的具体用法可查看参考书册:
https://docs.python.org/2/library/logging.handlers.html#module-logging.handlers

 

设置 日志文件大小

       通过使用 logging.handlers.RotatingFileHandler 管理日志文件大小。

 

参考:

  http://blog.csdn.net/zyz511919766/article/details/25136485    Python logging模块详解

  http://www.jb51.net/article/57710.htm  python logging类库使用例子

  

posted on 2016-11-18 16:56  doscho  阅读(78)  评论(0)    收藏  举报