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()
    """
  • 相关阅读:
    【总结】Metasploit自动攻击模块
    【实战】SSL和TLS漏洞验证
    【研究】Struts2-052漏洞
    【研究】Struts2-048漏洞
    【研究】XML外部实体注入(XXE)
    【研究】CVE-2017-11882-Office远程代码执行漏洞复现
    Excel----004分类汇总与数据有效性
    Excel----003排序与筛选
    Excel----002.单元格美化、数字格式设置、分列工具
    Execl----001.Excel基础操作
  • 原文地址:https://www.cnblogs.com/guo126/p/13816347.html
Copyright © 2011-2022 走看看