python logging 的一个简单的包装

Python 日志logging模块用法简单示例 这篇文章主要介绍了Python 日志logging模块用法,结合简单实例形式分析了Python 日志logging模块功能、原理及日志输出到控制台与文件的相关操作技巧,需要的朋友可以参考下: demo.py(日志,输出到控制台): import logging # 导入logging模块 # 日志级别默认是WARNING logging.basicConfig(level=logging.... 阅读详情

import logging, os
import logging.handlers
import datetime

loggers = []

def getlogroot(name) :
    logroot = os.path.basename(name)
    if logroot.endswith('.py') :
        logroot = logroot[:-3]
    elif logroot.endswith('.pyc') :
        logroot = logroot[:-4]

    return logroot

def init_logging_system(log_dir = '/data/logs', root = __file__):
    logroot = getlogroot(root)
    if logroot in loggers : return
    loggers.append(logroot)

    logger = logging.getLogger(logroot)
    #hdlr = logging.FileHandler(os.path.join(log_dir, '%s-%s.log' % (logroot, datetime.datetime.today().strftime('%F')))) 
    logfile = os.path.join(log_dir, logroot + '.log')
    hdlr = logging.handlers.RotatingFileHandler(logfile, maxBytes = 10240000, backupCount = 5)
 
    formatter = logging.Formatter('%(asctime)19s %(levelname)-8s %(name)s %(threadName)s %(message)s')
    hdlr.setFormatter(formatter)
    logger.addHandler(hdlr)
    logger.setLevel(logging.DEBUG)

def get(root = __file__) :
    logroot = getlogroot(root)
    if logroot not in loggers : logroot = __file__
    return logging.getLogger(logroot)

if __name__ == '__main__' :
    init_logging_system()
    l = get()
    l.warn('testing')
    l.debug('this is a debug message')

 

蓝色部分表示每天一个文件。适合于定时任务。

绿色部分表示文件到了10M就自动滚动,适合于后台的服务

 

日志的文件名,是__file__去掉扩展名之后的文件名。当然如果传过来的root参数不是以.py或.pyc结尾,则使用传过来的值作为文件名。

调用时

import logger

logger.init_logging_system(root = __file__)

log = logger.get(__file__)

 

log.debug(......)

log.error(......)

python改变日志(logging)存放位置的示例 实现了简单版本的logging.config,支持一般的通过config文件进行配置。感觉还有更好的方法,是直接利用logging.config.fileConfig(log_config_file)方式读进来之后,通过修改handler方式来进行修改。 复制代码 代码如下:“””project trace system“””import sysimport ConfigParserimport loggingimport logging.configimport warnings if __name__ == “__main__”:  log_config_file = “log.conf” 立即下载

相关推荐

python 如何对logging日志封装

作者:做梦的人(小姐姐) 出处:https://www.cnblogs.com/chongyou/ 因为最近在做平台,发现有同事,使用django封装了日志模块,看样子很简单,准备自己单独做了一个日志封装模板,对于python不熟练的我,封装部分参考了多个博主的内容,形成自己的日志模块,内容如下: 封装部分 创建一个logutil2的py文件 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author: zhangjun # @Date  : 2018/7/26 9:20 # @Desc  : Description   import l

【测试开发】Python—logging日志封装

python日志模块,可以说在工程项目中应该很广泛,本文简单地介绍Logging封装模块的编写及使用。当前环境:python 3.6.8;编译环境:pycharm。

尹煜的博客 6010

claude使用教程

提供了三种模型:claude,codex, gemini,三种模型都共用同一个apikey, 有开发需求使用claude效果较好,知识问答等场景gemini效果会更好些,本文只提供了claude的安装方式,剩下两种按需按照以下参考链接安装下即可,安装有问题参考文档:https://www.aicodemirror.com/dashboard/official-installation/macos-linux (不需要挂梯子,自己手机号注册就好)

lichao19871216的博客 3503

python logging 封装

python logging 封装

菜鸟吴de博客 584

基于ensp大学网络规划与设计(完整文档+ensp拓扑图)

大家好,我是小华学长,一名计算机领域的博主。经过多年的学习和实践,我积累了丰富的计算机知识和经验,在这里我想与大家分享我的学习心得和技巧,帮助你成为更好的程序员。 作为一名计算机博主,我一直专注于编程、算法、软件开发等领域,在这些方面积累了大量的经验。我相信分享是一种双赢的方式,通过分享,我可以帮助他人提升技术水平,同时也能够得到学习交流的机会。 在我的文章中,你将会看到我对于各种编程语言、开发工具以及常见问题的解析和分析。我会结合自己的实际项目经验,为你提供实用的解决方案和优化技巧。我相信这些经验不仅能够

qq1325513482的博客 5万+

计算pi小数点后10000位

数据结构课上,老师让我们计算一下pi的10000位,复习一下面向对象。 First Try:定义一个高精度类hp(high precision),实现加减乘除,输入输出,然后随便找一个公式,比如Wallis公式,全都用hp进行计算。 现实是:大数乘大数或者大数除大数,实在是太慢了。而且Wallis公式收敛太慢。 Second Try先找到一个收敛较快的公司:BBP公式,观察公式发现,...

我的技术人生 7395

python 日志_python日志模板

import syssys.path.append("./")import osimport datetimeimport loggingimport platformfrom logging.handlers import RotatingFileHandler#linux日志路径LIUNX_LOG_PATH='/store/logs/xxxxxx/'logger_dict={}def _log...

weixin_39937447的博客 288

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026 (以YOLO26最新目标检测模型为基础,利用FAAFusion傅里叶角度对齐模块改进Neck部分)

2502_91881744的博客 317

python配置按日期切分的logging

一、定义一个yml文件 version: 1 disable_existing_loggers: False formatters: simple: format: '%(asctime)s [%(name)s:%(lineno)d] [%(levelname)s]- %(message)s' handlers: console: class: logging.StreamHand...

大米的专栏 7976

电机驱动和电源等大电流设计中的并联 MOSFET设计

在电机驱动等应用中,半桥拓扑(通常为 3 相)用于生成在电机中产生正扭矩或负扭矩的交流电源信号。想要更高的输出电流能力,只有通过并联形成每个功能开关的 MOSFET,才能实现高输出电流。当多个功率 MOSFET 并联以增加系统整体电流能力容量时,通常假设电流在并联器件之间均等分配或均等共享。然而,在并联 MOSFET 时,需要考虑并联器件之间的电流分配。PCB 布局的若干特性和特定的MOSFET 参数会影响这种分配,并在参数不匹配或布局不对称时导致均流不平衡。

小幽余生不加糖 2487

第一节:从Chat_Bot 到 AI_Agent——一个范式转换

本文系统剖析了工业级AI代理系统ClaudeCode的设计原理与工程实践。通过对比ChatBot与Agent的三个本质差异:自主循环决策vs单轮应答、环境交互vs纯文本I/O、持久状态管理vs无状态对话,揭示了构建生产级Agent系统的关键挑战。文章详细解析了ClaudeCode的五层架构设计、1800+文件组成的运行时系统,包括工具调度、权限管理、状态持久化等核心机制,并阐述了从简单API调用到完整Agent系统的演进路径。

2201_75869398的博客 68

python logging包装修饰器

# -*-coding:utf-8 -*- __author__ = "ZJL" import logging, traceback, os, time def objLogging(logfilename, errortext): if os.path.isdir(os.getcwd() + os.sep + "log")==False: os.mkdir(os.

阿友的专栏 1592

Python爬虫实战:如何爬取京东商品评论数据

在本文中,我们介绍了如何使用 Python 爬虫技术爬取京东商品的评论数据。首先,我们分析了京东商品评论的 API 接口和 JSON 数据结构,然后编写了爬虫程序来抓取评论数据,并将数据保存到 CSV 文件中。接着,我们进行了一些基本的数据分析,包括评分分布和简单的情感分析。爬取京东商品评论的数据可以为电商分析、情感分析等提供有价值的信息。你可以在此基础上进行更深入的分析,挖掘更多的商业价值。希望本篇教程能够帮助你了解如何利用 Python 进行电商数据的爬取和分析!

2201_76125261的博客 1648

python-日志模块logging

python的日志模块logging,用来记录程序运行状态、调试信息和错误追踪。

xiansanfou0386的博客 428

2024年11月架构设计师案例分析真题回顾,附参考答案、解析及所涉知识点(二)

软考高级系统架构设计师考试包含三个科目:信息系统综合知识、案例分析和系统架构设计论文。考试形式为机考。本文主要回顾2024年下半年(2024-11-10)系统架构设计师考试上午第二科案例分析的题目,同时附带参考解答、解析和所涉知识点。

一几文的编程学习笔记。 1662

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

python3中的logging记录日志实现过程及封装成类

作用: 主要记录信息,便于定位查看问题。 python logging模块官网: https://docs.python.org/zh-cn/3.7/library/logging.html#formatter-objects 三种定位问题方法: print debug调试:代码写好后,就不需要再进行调试了,所以引入了logger logging.debug() – 一般在测试环境中用 logger:当生产环境中有问题时,可以查看logger定位问题 步骤: 1.初始化日志 收集器 2.设置日志 收

bang152101的博客 850

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Python编程:logging模块的简单使用

上述三者的关系是:一个 Logger 使用一个 Handler,一个 Handler 使用一个 Formatter。

彭世瑜的博客 7480

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Python logging 模块

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

灰蓝 9171

【Python】多个py文件使用同一个logging文件

文章目录主.py其他文件 多个py文件使用一个logging设置,输出到同一个log日志文件里. 主.py 主文件,里面主要是配置logging #!/usr/bin/env python # -*- coding: utf-8 -*- """ @Time : 2019/10/21 10:15 @Author : YuJinNeng @Site : @File : common...

10相濡以沫 8278

python之logging模块

python之logging模块

weixin_39926295的博客 1647

详解python的logging模块

使用python文件将输出信息写入到文件中

weixin_46713695的博客 2946

python的logging模块

介绍python的logging模块

lishanlu136的博客 1318

python中logging库使用

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

qq_38734327的博客 1711

python中logging模块的一些简单用法

用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所以Python引入了logging模块来记录我想要的信息。

m0_72557783的博客 1711
上一篇: python ssh工具paramiko的一点修改
下一篇: android之uiaotumation与instrumentation注入MotionEvent和KeyEvent事件
whackw
博客等级 码龄16年 203粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值