【问题标题】:How to write each level to a separate file so that it does not repeat in each file below the level?如何将每个级别写入单独的文件,使其不会在该级别以下的每个文件中重复?
【发布时间】:2022-01-25 21:35:17
【问题描述】:
logger.configure(
    handlers=[
        dict(sink="TRACE.log", level='TRACE', enqueue=True, encoding='utf-8', diagnose=True),
        dict(sink="DEBUG.log", level='DEBUG', enqueue=True, encoding='utf-8', diagnose=True),
        dict(sink="INFO.log", level='INFO', enqueue=True, encoding='utf-8', diagnose=True),
        dict(sink="SUCCESS.log", level='SUCCESS', enqueue=True, encoding='utf-8', diagnose=True),
        dict(sink="WARNING.log", level='WARNING', enqueue=True, encoding='utf-8', diagnose=True),
        dict(sink="ERROR.log", level='ERROR', enqueue=True, encoding='utf-8', diagnose=True),
        dict(sink="CRITICAL.log", level='CRITICAL', enqueue=True, encoding='utf-8', diagnose=True),

    ],
)

logger.trace('TRACE')
logger.debug('DEBUG')
logger.info('INFO')
logger.success('SUCCESS')
logger.warning('WARNING')
logger.error('ERROR')
logger.critical('CRITICAL')](url)

TRACE.log

2021-12-26 15:44:39.272 | TRACE    | __main__:main:216 - TRACE
2021-12-26 15:44:39.272 | DEBUG    | __main__:main:217 - DEBUG
2021-12-26 15:44:39.272 | INFO     | __main__:main:218 - INFO
2021-12-26 15:44:39.272 | SUCCESS  | __main__:main:219 - SUCCESS
2021-12-26 15:44:39.272 | WARNING  | __main__:main:220 - WARNING
2021-12-26 15:44:39.288 | ERROR    | __main__:main:221 - ERROR
2021-12-26 15:44:39.288 | CRITICAL | __main__:main:222 - CRITICAL

如何将每一层写到一个单独的文件中,使得它不会在该层以下的每个文件中重复?

【问题讨论】:

    标签: python python-3.x logging loguru


    【解决方案1】:

    使用filter参数:

    import sys
    
    from loguru import logger
    
    
    def only_level(level):
        def is_level(record):
            return record['level'].name == level
    
        return is_level
    
    
    logger.remove()
    logger.add(sys.stdout, level='TRACE', filter=only_level('TRACE'))
    
    logger.trace('TRACE')
    logger.debug('DEBUG')  # will not be logged
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-09
      • 2013-11-27
      • 2022-11-01
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      相关资源
      最近更新 更多