首页 > 其他分享 >76日志信息log

76日志信息log

时间:2023-02-14 21:24:26浏览次数:37  
标签:logging log filename 76 handler 日志 logger

日志信息排错(举例)

logger.py

import sys
import logging
from logging import handlers

# 日志级别关系映射
level_relations = {
    'debug': logging.DEBUG,
    'info': logging.INFO,
    'warning': logging.WARNING,
    'error': logging.ERROR,
    'crit': logging.CRITICAL
}

def _get_logger(filename, level='info'):
    # 创建日志对象
    log = logging.getLogger(filename)
    # 设置日志级别
    log.setLevel(level_relations.get(level))
    # 日志输出格式
    fmt = logging.Formatter('%(asctime)s %(thread)d %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
    # 输出到控制台
    console_handler = logging.StreamHandler(sys.stdout)
    console_handler.setFormatter(fmt)
    # 输出到文件
    # 日志文件按天进行保存,每天一个日志文件
    file_handler = handlers.TimedRotatingFileHandler(filename=filename, when='D', backupCount=1, encoding='utf-8')
    # 按照大小自动分割日志文件,一旦达到指定的大小重新生成文件
    # file_handler = handlers.RotatingFileHandler(filename=filename, maxBytes=1*1024*1024*1024, backupCount=1, encoding='utf-8')
    file_handler.setFormatter(fmt)

    log.addHandler(console_handler)
    log.addHandler(file_handler)
    return log

# 明确指定日志输出的文件路径和日志级别
logger = _get_logger('test.log', 'info')

等级(点包进去源码)

# Default levels and level names, these can be replaced with any positive set
# of values having corresponding names. There is a pseudo-level, NOTSET, which
# is only really there as a lower limit for user-defined levels. Handlers and
# loggers are initialized with NOTSET so that they will log all messages, even
# at user-defined levels.
#

CRITICAL = 50
FATAL = CRITICAL
ERROR = 40
WARNING = 30
WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0

调用

这里举例一个demo

log_t.py

from logger import logger


def a():
    """测试专用"""
    lis = []
    for i in range(30):
        lis.append(i)
    return lis



if __name__ == '__main__':
    res = a()
    # logger.info('日志输出测试')
    logger.info(res)         # 导入包即可   

标签:logging,log,filename,76,handler,日志,logger
From: https://www.cnblogs.com/code3/p/17120922.html

相关文章

  • Django日志配置
    Django使用Python内建的logging模块打印日志,配置由四个部分组成记录器:Logger处理程序:Handler过滤器:Filter格式化:formatter 记录器-LoggerLogger为日志系......
  • dinky-binlog-kafka-flinksql流程处理
    准确阶段:mysql:开启mysql日志kafka:需检查服务是否正常maxwell:这里采用19版本,过新的版本对java版本要求高,我这里是java8maxwell-1.19.0maxwell操作:cd/root/tar_temp/maxwell-......
  • o.a.http.impl.execchain.RetryExec execute关闭日志、
    o.a.http.impl.execchain.RetryExecexecute关闭日志对于logback,以下logback.xml将消除噪音:<loggername="org.apache"level="WARN"/><loggername="httpcli......
  • Linux日志文件及如何使用rsyslog搭建小型日志服务器
     一、日志文件1、日志作用2、常用日志3、日志级别二、Rsyslog日志处理系统1、使用Rsyslog创建日志有点2、Rsyslog配置文件解析3、使用rsyslog将ssh服务的日志单......
  • 温习日志-17
    温习日志——2023年2月14日下午学习内容SettersandGetters在class中设置,set和getset函数名(必须有一个参数){}是当调用该函数名时,处理该参数get函数名(){}是......
  • 【Spring-boot-route(十五)整合RocketMQ+(十六)使用logback生产日志文件】
    spring-boot-route(十五)整合RocketMQRocketMQ简介RocketMQ是阿里巴巴开源的消息中间件。目前已经贡献给Apache软件基金会,成为Apache的顶级项目。rocketMQ基本概念1.Producer......
  • Mybatis源码研究4:日志框架的实现
    一、logging包的概述本包主要依赖了Mybatis的reflection包的ExceptionUtil和io包的Resources,以及第三方的Log4j,Slf4j,CommonsLogging。Mybatis的其它包大量引用了本包中......
  • 03-《AspNetCore》-Logger
    Logger视频讲解package说明Microsoft.Extensions.Logging.Abstractions:抽象包,一大堆的接口Microsoft.Extensions.Logging:提供一些基本的实现Microsoft.Extensions.Log......
  • 伪装的IP地址,防止攻击行为被安全日志记录以及攻击溯源的方法有哪些
    请注意,以下只是与ChatGPT的对话伪装的IP地址,防止攻击行为被安全日志记录以及攻击溯源的方法有哪些??使用IP欺骗:在攻击时,采用虚构IP地址进行伪装,以避免被记录在安全日志中......
  • Cash Machine (POJ 1276)(多重背包——二进制优化)
    链接:POJ-1276题意:给你一个最大金额m,现在有n种类型的纸票,这些纸票的个数各不相同,问能够用这些纸票再不超过m的前提下凑成最大的金额是多少?题解:写了01背包直接暴力,结......