zoukankan      html  css  js  c++  java
  • python将日志生成到文件和控制台

    # 日志收集设置
    import logging, os
    from logging.handlers import TimedRotatingFileHandler
    import datetime

    current_dir = os.path.abspath(os.path.dirname(__file__))
    parent_dir = os.path.dirname(current_dir)
    my_log_path = os.path.join(parent_dir, "./Log")
    error_path = os.path.join(parent_dir, "./Log/error")
    if not os.path.exists(my_log_path):
    os.mkdir(my_log_path)
    if not os.path.exists(error_path):
    os.mkdir(error_path)
    my_report_path = os.path.join(parent_dir, "./Report")
    if not os.path.exists(my_report_path):
    os.mkdir(my_report_path)

    # 定义一个日志收集器
    logger = logging.getLogger("guoguo")
    # 设置收集器级别,不设定的话,会默认搜集warning及以上级别的日志
    logger.setLevel(logging.INFO)
    # 设置日志格式
    fmt = logging.Formatter("%(filename)s-%(lineno)d-%(asctime)s-%(levelname)s-%(message)s")

    # 设置日志输出到控制台
    stream_handler = logging.StreamHandler()

    # 设置日志输出到文件
    file_handler = TimedRotatingFileHandler('Log/{}.log'.format(datetime.datetime.now().strftime('%Y-%m-%d')), when="D", interval=1, backupCount=30, encoding='utf-8')
    file_error_handler = TimedRotatingFileHandler('Log/error/{}.log'.format(datetime.datetime.now().strftime('%Y-%m-%d')), when="D", interval=1, backupCount=30, encoding='utf-8')

    # 设置控制台和文件的日志输出格式
    stream_handler.setFormatter(fmt)
    file_handler.setFormatter(fmt)
    file_error_handler.setFormatter(fmt)

    # 添加过滤条件
    err_filter = logging.Filter()
    err_filter.filter = lambda record: record.levelno >= logging.WARNING
    file_error_handler.addFilter(err_filter)

    # 将输出对象添加到logger中
    logger.addHandler(file_handler)
    logger.addHandler(stream_handler)
    logger.addHandler(file_error_handler)
    """
    收集日志
    logger.info()
    logger.debug()
    logger.warning()
    logger.error()
    """
  • 相关阅读:
    怎样用c/c++编程连接mysql数据库?
    c#中转义符总结
    制作文件系统出错运行mkubimagemlc2
    面试中常考的C函数库中的字符串处理函数
    移动支付模式再添新军:指纹支付
    面试中常考的单链表处理
    选购冰箱勿被概念迷惑:并非功能越多越好
    地址转换
    JavaScriptGarden/
    配置非安装版的mysql 5.5
  • 原文地址:https://www.cnblogs.com/guo126/p/13816347.html
Copyright © 2011-2022 走看看