Python 中logging使用

Python标准模块logging 开发Python, 一直以来都是使用自己编写的logging模块. 比较土...... 今天发现python的标准模块的这个功能做的挺好, 记录一下, 以后使用模块来进行logging. 对于这个模块的介绍网上也很多, 我也不用自己写了, 比较好的如下, http://crazier9527.iteye.com/blog/290018    Python的标准logging模块 http://blog.endlesscode.com/2010/06/03/python-logging-module/   P 阅读详情

1.log级别

级别何时使用
DEBUG详细信息,典型地调试问题时会感兴趣。
INFO证明事情按预期工作。
WARNING表明发生了一些意外,或者不久的将来会发生问题(如‘磁盘满了’)。软件还是在正常工作。
ERROR由于更严重的问题,软件已不能执行一些功能了。
CRITICAL严重错误,表明软件已不能继续运行了。

2.简单例子

import logging  

# 创建一个logger  
logger = logging.getLogger('mylogger')  #
logger.setLevel(logging.DEBUG)  

# 创建一个handler,用于写入日志文件  
fh = logging.FileHandler('test.log')  
fh.setLevel(logging.DEBUG)  

# 再创建一个handler,用于输出到控制台  
ch = logging.StreamHandler()  
ch.setLevel(logging.DEBUG)  

# 定义handler的输出格式  
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')  
fh.setFormatter(formatter)  
ch.setFormatter(formatter)  

# 给logger添加handler  
logger.addHandler(fh)  
logger.addHandler(ch)  

# 记录一条日志  
logger.info('foorbar')

3.项目使用

settings.py文件

LOG_LEVEL = logging.INFO
LOG_TYPES = {
    'transaction': 'transactions.log',
    'access': 'access.log',
}

logger.py

import logging
from conf import settings

def logger(log_type):

    #create logger
    logger = logging.getLogger(log_type)
    logger.setLevel(settings.LOG_LEVEL)


    # create console handler and set level to debug
    ch = logging.StreamHandler()
    ch.setLevel(settings.LOG_LEVEL)

    # create file handler and set level to warning
    log_file = "%s/log/%s" %(settings.BASE_DIR, settings.LOG_TYPES[log_type])
    fh = logging.FileHandler(log_file)
    fh.setLevel(settings.LOG_LEVEL)
    # create formatter
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

    # add formatter to ch and fh
    ch.setFormatter(formatter)
    fh.setFormatter(formatter)

    # add ch and fh to logger
    logger.addHandler(ch)
    logger.addHandler(fh)

    return logger
    # 'application' code
    '''logger.debug('debug message')
    logger.info('info message')
    logger.warn('warn message')
    logger.error('error message')
    logger.critical('critical message')'''

实例两个log文件

import logger
#Python小白学习交流群:725638078
#transaction logger
trans_logger = logger.logger('transaction')
#access logger
access_logger = logger.logger('access')

调用

acc_data = auth.acc_login(user_data,access_logger)

def acc_login(user_data,log_obj):
        log_obj.error("account [%s] too many login attempts" % account)
python3中logging的使用 python3的logging模块可以实现日志的操作:包括信息输出到控制台、输出到指定的文件等等(类似于Java的log4j) 模块logging是是python3内置的标准模块,不需要像flask这些再进行单独安装了,直接拿来使用就是了 关于l日志的使用,也基本就是日志信息的控制台打印,日志信息写入到日志文件等等操作,这些在logging模块中都可以得到很好的支持,下面就是一步步来 第一步... 阅读详情

相关推荐

Python中logging模块的基本用法

本文首发于:行者AI 在开发项目时,我们不可能将所有的信息都打印在控制台中。我们可以使用Python标准库提供的logging API来处理。相比print,logging模块提供了许多强大而灵活的功能。比如:可以通过设置不同的日志等级,只输出重要信息,而不必显示大量的调式信息;print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其他数据,而logging则可以由开发者决定将信息输出到什么地方,以及怎么输出。 1. logging模块基本信息 1.1 日志等级 logging函数默认定.

行者AI 2068

python 之 logging的使用

console_logger 记录器只将日志消息发送到控制台,file_logger 记录器只将日志消息发送到文件。字典配置可以让你更详细地控制日志记录器、处理器、过滤器和格式化器;可以定义多个日志记录器(logger),并且为每个记录器配置不同的处理器(handler),每个记录器可以独立地设置它的日志级别和处理器。warning(告警)级别用于输出警告信息,表示可能会出现潜在的问题或异常情况,但不会影响应用程序的正常运行。info(消息)级别用于输出正常的日志消息,用于提供应用程序的运行状态信息。

风华浪浪的博客 3405

【Python】logging

在软件开发中,日志(logging)是不可或缺的组成部分。它不仅仅是简单地打印信息到控制台,更是软件运行状态、异常、性能瓶颈以及业务流程的关键“黑匣子记录”。想象一下,一个复杂的分布式系统在生产环境中出现问题,如果没有详尽的日志,排查问题将如同大海捞针。日志,就是系统运行轨迹的画像,是故障诊断、性能优化、安全审计甚至业务分析的基石。初学者在Python中输出信息时,最常使用的是内置的 函数。然而, 在生产环境中是远远不够的,甚至可能成为问题的根源。让我们先看看 的局限性:为了克服 的这些局限,日志系统

宅男很神经 1460

Python中logger模块的使用教程

  参考模块:   https://www.digitalocean.com/community/tutorials/how-to-use-logging-in-python-3   logger是python的内置模块,用以输出代码运行过程中的运行情况,极大的方便了我们的debug过程。参考资料中列出了使用logger相比于print优越的地方:   1. 使用print很难和代码的正常输出区...

思念殇千寻的博客 1072

Python日志库logging总结

上面的基本使用可以让我们快速上手 logging 模块,但一般并不能满足实际使用,我们还需要自定义 Logger。一个系统只有一个 Logger 对象,并且该对象不能被直接实例化,没错,这里用到了单例模式,获取 Logger 对象的方法为getLogger。注意:这里的单例模式并不是说只有一个 Logger 对象,而是指整个系统只有一个根 Logger 对象,Logger 对象在执行 info()、error() 等方法时实际上调用都是根 Logger 对象对应的 info()、error() 等方法。

wjianwei666的专栏 1342

【旁门Python03】如何正确使用Python logging库

如何正确使用Python的logging库?这篇一站式的文章就足够了。涵盖从基本用法到高级配置。

OddNo77的博客 1178

Python logger模块

1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点: 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息; print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由...

dixu7849的博客 1480

从零搭建:基于Matlab/Simulink与FlightGear的飞行器实时可视化仿真平台

本文详细介绍了如何从零搭建基于Matlab/Simulink与FlightGear的飞行器实时可视化仿真平台。通过环境准备、模型部署、接口配置及联合仿真等步骤,帮助用户快速掌握飞行器仿真的核心技术,实现高效的三维可视化与实时数据交互。

weixin_29100399的博客 517

Python中内置的日志模块logging用法详解

https://cloud.tencent.com/developer/article/1587902

良知犹存的博客 6449

添加odbc数据源时的一些问题和解决办法

pl/sql

Mr_Syh的博客 9641

C++动态规划详解

动态规划思想 一、动态规划概念: 动态规划(dp)是研究多步决策过程最优化问题的一种数学方法。在动态规划中,为了寻找一个问题的最优解(即最优决策过程),将整个问题划分成若干个相应的阶段,并在每个阶段都根据先前所作出的决策作出当前阶段最优决策,进而得出整个问题的最优解。即记住已知问题的答案,在已知的答案的基础上解决未知的问题。 在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后

weixin_51951103的博客 2万+

python中的logger包的详细使用教程

Python 的 logging 模块是标准库中用于记录日志的核心工具,支持多级别、多目标、多格式的日志管理。通过 logging.getLogger(name) 可以创建或获取 Logger 对象,并通过 setLevel() 设置日志级别(如 DEBUG、INFO 等)。Logger 支持层级结构,便于模块化日志管理。Handler 负责将日志发送到不同目标(如控制台、文件),常用类型包括 StreamHandler、FileHandler、RotatingFileHandler 等。通过 Format

学无止尽,谨言慎行! 3254

PCL 基于法向距离的对应点获取

提出了一种基于法向量欧氏距离的点云配准方法。详细推导了法向量距离计算公式,并给出具体计算流程。在代码实现部分,采用PCL库完成了点云法向量计算和对应关系估计,通过可视化验证了算法有效性。实验结果表明,该方法能够准确获取点云间的对应关系,为后续点云配准奠定了基础。

点云侠的博客 225

Python logging 模块之 logging.basicConfig 用法和参数详解

Python 函数之 logging.basicConfig 用法和参数详解 先举例个例子: import logging logging.basicConfig(level=logging.INFO, format='%(asctime)s %(filename)s %(levelname)s %(message)s', ...

静堂先生的博客 6万+

安装keil软件时安装不了芯片包怎么回事?芯片包安装路径放在Keill里的packs下面,弹框提示报错:Errors retumned from cpackget...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 2205

生成mm grounding dino的onnx模型并在x-anylabeling中使用

X-AnyLabeling 是一款cvhub开发的交互式自动标注工具,其基于AnyLabeling进行构建和二次开发,在此基础上扩展并支持了许多的模型和功能,并借助Segment Anything和YOLO等主流模型提供强大的 AI 支持。其最新版基于grounding dino可以实现开放词汇检测及生成掩码。2024年,MMDet 3.3.0提出了 MM-Grounding-DINO。

blanokvaffy的博客 1728

python logging模块详解

logging库采用模块化方法,并提供了几类组件:记录器,处理程序,过滤器和格式化程序。 以记录器Logger为对象,设置合适的处理器Handler,辅助以筛选器Filter、格式器Formatter,设置日志级别以及常用的方法,最终输出理想的日志记录给到指定目标

weixin_47154909的博客 1万+

学Simulink--基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模示例

本文详细介绍了基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模方法。首先分析了UKF相比EKF在强非线性场景下的优势,包括无线性化误差、计算效率高和鲁棒性强等特点。接着阐述了UKF的核心原理,重点讲解了无迹变换(UT)的三个关键步骤:Sigma点生成、非线性传播和加权统计重构。文章还详细说明了二维机动目标的状态向量定义、非线性状态转移模型和雷达观测模型。 在Simulink实现部分,提供了完整的建模步骤和核心代码,包括目标运动模型、雷达传感器模型和UKF算法模块的实现。通过蛇形机动场景的仿真实

xiaoheshang_123的博客 89

python中logging库使用

编程代码中,日志的合理使用,能够很好地监控代码的运行过程;在业务部署中,通过日志的记录情况,快速查看代码状态,定位代码运行异常信息,能高效地进行代码维护、管理、执行等。

qq_38734327的博客 1711

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python logging 模块

Python logging 模块 给大家剖析下Python的logging模块。 logging模块是Python内置的一个强大易用的日志模块。简单到你只需要两行代码就能输出一些东西来:import logging logging.warning('Hi, I print something.')输出:WARNING:root:Hi, I print something.当然,我们可不能满足于

灰蓝 9171

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python中logging的用法_python中 logging的使用详解

日志是用来记录程序在运行过程中发生的状况,在程序开发过程中添加日志模块能够帮助我们了解程序运行过程中发生了哪些事件,这些事件也有轻重之分。根据事件的轻重可分为以下几个级别:DEBUG: 详细信息,通常仅在诊断问题时才受到关注。整数level=10INFO: 确认程序按预期工作。整数level=20WARNING:出现了异常,但是不影响正常工作.整数level=30ERROR:由于某些原因,程序 不...

weixin_28707535的博客 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python中的logging使用方法

转自https://www.cnblogs.com/deeper/p/7404190.html <div id="post_detail"> 以打印日志为荣之logging模块详细使用 啄木鸟社区里的Pythonic八荣八耻有一条: 以打印日志为荣 , 以单步跟踪为耻; 很多程序都有记录日志的需求,并且日志中包含的信息既有...

彭伟的博客 5002

python logging使用_python logging模块使用

python logging模块使用logging模块日志记录的重要性在开发过程中,我们可以printf或者Debug来排查问题。但是在生产环境中(黑盒环境)出现问题,我们并不能知道在运行的环境中的哪个地方出现了问题。如果我们当时有日志记录,我们就可以方便地追踪到在当时运行过程中出现了怎样的状况,从而排查问题。日志记录是非常有必要的,任何一款软件如果没有标准的日志记录,都不能算作一个合格的软件。作...

weixin_39940755的博客 79

python之logging模块

python之logging模块

weixin_39926295的博客 1646

python logging使用_Python LOGGING使用方法

Python LOGGING使用方法1. 简介使用场景场景适合使用的方法在终端输出程序或脚本的使用方法print报告一个事件的发生(例如状态的修改)logging.info()或logging.debug()发生了一个特定的警告性的事件logging.warn()发生了一个特定的错误性的事件raise发生了一个特定的错误性的事件,但是又不想因为此错误导致程序退出(例如程序是一个守护进程)loggi...

weixin_39893042的博客 427
上一篇: Python中模块是什么?
下一篇: Python实现字符串反转的6种方法
Python程序u猿
博客等级 码龄5年 622粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值