• Python(2.7.6) 标准日志模块的简单示例


     Python 标准库中的 logging 模块提供了一套标准的 API 来处理日志信息的打印。

    import logging
    
    logging.basicConfig(
        level    = logging.DEBUG,
        format   = '%(asctime)s [%(threadName)s] (%(filename)s:%(lineno)d) %(levelname)s - %(message)s',
        datefmt  = '%Y-%m-%d %H:%M:%S',
        filename = 'myapp.log',
    )
    
    logging.debug('This is a debug message')
    logging.info('This is an info message')
    logging.warning('This is a warning message')

    在 myapp.log 中打印出的日志如下:

    2015-03-11 15:54:34 [MainThread] (logging_demo.py:10) DEBUG - This is a debug message
    2015-03-11 15:54:34 [MainThread] (logging_demo.py:11) INFO - This is an info message
    2015-03-11 15:54:34 [MainThread] (logging_demo.py:12) WARNING - This is a warning message

    logging.basicConfig 函数的参数说明:

    参数 说明
    filename   用户创建 FileHandler 实例的文件名
    filemode  日志文件的打开模式,默认为 'a'
    format  日志的输出格式
    datefmt  时间的输出格式 
    level  日志级别,大小关系为 CRITICAL(50) > ERROR(40) > WARNING(30) > INFO(20) > DEBUG(10) > NOTSET(0) 
    stream  用于初始化 StreamHandler 的流,此参数与 filename 一起指定时,会被忽略掉

    logging 中的格式化符号:

    符号 说明
    %(asctime)s  时间
    %(filename)s  文件名
    %(funcName)s  函数名
    %(levelname)s  日志级别值
    %(levelno)s  日志级别
    %(lineno)d  行号
    %(module)s  模块
    %(message)s  日志消息
    %(name)s  日志名称 
    %(pathname)s  logger的名称
    %(process)d  进程ID
    %(processName)s  进程名
    %(thread)d  线程ID
    %(threadName)s  线程名
  • 相关阅读:
    BZOJ3669
    HDU3726
    BZOJ3282
    BZOJ2843
    Link/cut Tree
    Codeforces396A
    LOJ6277~6285 数列分块入门
    Codeforces446C
    Codeforces475D
    Codeforces103D
  • 原文地址:https://www.cnblogs.com/huey/p/4329994.html
Copyright © 2020-2023  润新知