• python logging


    使用logging打印日志到标准输出;默认是logging.warning模式;

    将日志写入到文件,2种方式;

    方式1:使用logging.baseConfig()将日志输入到文件,os.getcwd() #返回当前工作目录;

    logging.basicConfig函数各参数:

    filename:指定日志文件名;

    filemode:和file函数意义相同,指定日志文件的打开模式,'w'或者'a';

    format:指定输出的格式和内容,format可以输出很多有用的信息;

    datefmt:指定时间格式;

    level:设置日志级别,默认为logging.WARNING; WARNING /DEBUG

    stream:指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略;

     

     方式2:使用logging.FileHandler("文件名称带后缀")

     

     3.将日志输出到控制台和文件中;logging.StreamHandler();

     自定义Logger

    设置安装日志文件大小自动分割日志写入文件

    import logging
    from logging import handlers
    class record(object):
    level_relations={
    'debug':logging.DEBUG,
    'info':logging.INFO,
    'warning':logging.WARNING,
    'error':logging.ERROR,
    'crit':logging.CRITICAL
    }
    def __init__(self,filename,level='warning',when='D',backCount=3,
    fmt='%(asctime)s-%(pathname)s[line:%(lineno)d]-%(levelname)s:%(message)s'):
    self.logger=logging.getLogger(filename)
    format_str = logging.Formatter(fmt)
    self.logger.setLevel(self.level_relations.get(level))
    cons=logging.StreamHandler()
    cons.setFormatter(format_str)
    self.logger.addHandler(cons)
    #定义一个RotatingFileHandler,最多备份5个日志文件,每个日志文件最大为1K
    file=handlers.RotatingFileHandler(
    filename=filename,mode='a',maxBytes=1024*1,
    backupCount=5,encoding='utf-8') #1kb=1024*b #当些人文件为1kb时,会将文件后缀名增加.1
    file.setFormatter(format_str)
    self.logger.addHandler(file)

    a=record('alllog.txt')
    a.logger.warning('xixi hehe 学习')

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    NOI 题库 7084
    NOI 题库 7218
    POJ 2386 题解
    NOI 题库 8465
    NOI 题库 2753
    NOI 题库 1792
    P3709 大爷的字符串题
    初探莫队
    P1026 统计单词题解
    AC自动机小记
  • 原文地址:https://www.cnblogs.com/canglongdao/p/12152290.html
Copyright © 2020-2023  润新知