美文网首页
2018-11-18 loggin模块

2018-11-18 loggin模块

作者: 太阳出来我爬山坡 | 来源:发表于2018-11-18 20:39 被阅读0次

    loggin 模块 学习

    logging用法

    1. 初始化 logger = logging.getLogger(“name")
    2. 设置级别 logger.setLevel(logging.DEBUG),Logging中有NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL这几种级

    别,日志会记录设置级别以上的日志

    1. 定义Handler,常用的是StreamHandler和FileHandler,
      StreamHandler:将日志在控制台输出
      FileHandler: 将日志记录到文件里面
    2. formatter,定义了log信息的 内容 和格式,
      例如:'[%(asctime)s] [%(levelname)s] %(message)s', '%Y-%m-%d %H:%M:%S'

    Logging 中几种级别:NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL

    Formatter 中已有格式 :

    %(name)s Logger的名字�%(levelname)s 文本形式的日志级别�
    %(message)s 用户输出的消息�
    %(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒�
    %(levelno)s 数字形式的日志级别�
    %(pathname)s 调用日志输出函数的模块的完整路径名,可能没有�
    %(filename)s 调用日志输出函数的模块的文件名�%(module)s 调用日志输出函数的模块名�
    %(funcName)s 调用日志输出函数的函数名�
    %(lineno)d 调用日志输出函数的语句所在的代码行�
    %(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示�
    %(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数�
    %(thread)d 线程ID。可能没有�
    %(threadName)s 线程名。可能没有�%(process)d 进程ID。可能没有

    ____________________示例_________
    import logging

    1初始化 日志对象 给日志取个名字

    logger = logging.getLogger()

    2设置级别

    logger.setLevel(logging.DEBUG) #设置最低级别(一般都写DEBUG),小于它的级别都不纪录到文件或输出到控制台.

    3定义handler

    #控制台输出
    

    sh = logging.StreamHandler()
    sh.setLevel(logging.ERROR) #error 以上级别 才会在控制台输出,低于他的都不在控制台输出
    #记录到文件
    fh = logging.FileHandler('test_file.log')
    fh.setLevel(logging.DEBUG) #debug级别以上才会写入log文件里面去.

    4 定义格式化

    formatter = logging.Formatter(
    '时间:%(asctime)s,' #注意 s 后面的逗号 写到 引号里面去
    '日志级别:%(levelname)s,'
    '日志消息:%(message)s'
    )

    5 告诉控制台跟文件让他们以这样的格式显示

    sh.setFormatter(formatter) #控制台 显示格式
    fh.setFormatter(formatter) #文件 显示格式

    6 添加handleer 到我们的对象里面去(把 日志内容 显示到控制台或 记录到文件)

    logger.addHandler(sh)
    logger.addHandler(fh)

    if name== 'main':
    logger.debug('这个是一个Debug信息')
    logger.info('这个是一个info信息')
    logger.error('这个是一个error信息')
    logger.warn('这个是一个warn信息')
    logger.critical('这个是一个critical信息')

    相关文章

      网友评论

          本文标题:2018-11-18 loggin模块

          本文链接:https://www.haomeiwen.com/subject/lqfwfqtx.html