广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 日志记录
  • 360
分享到

python 日志记录

日志python 2023-01-31 08:01:03 360人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

周海汉 /文 Http://blog.csdn.net/ablo_zhou 2010.3.20   一、我写的log4py介绍   在写<汉字大全 >时,自己实现了简单的log系统: #!/bin/env python #

周海汉 /文

Http://blog.csdn.net/ablo_zhou

2010.3.20

 

一、我写的log4py介绍

 

在写<汉字大全 >时,自己实现了简单的log系统:

 

输出

INFO.stdout.test.
2010-03-20T09:19:47.091774.[DEBUG].gloabal.debug information 调试.
2010-03-20T09:19:47.092294.[ERROR].gloabal.errorrrrrrrrrrrrrrr.
2010-03-20T09:19:47.092568.[DEBUG].gloabal.hello.

 

使用时,只需

import log4py

log = log4py.log4py('module name')

 

就可以用log.debug('debug')等几个级别打印log了。还可以定义是标准输出还是输出到文件,输出什么级别的。适用于小型的log系统。

 

该log4py的好处是使用起来简单,具有基本的级别定义,完全支持中文,log调试的输入除了字符串还支持列表,字典,数字等,可以打印exception信息。打印的格式为"时间到毫秒,模块名,log级别,log内容“。

 

但与系统的log比起来,缺乏强大的定制能力。

 

二、系统的logging模块

著名的log4j,log4cpp,以及Python自带的logging其配置都相当复杂,使用灵活,可以通过配置文件自定义输出哪些模块,输出级别,输出格式,输出到文件和标准输出。并且兼顾多线程,性能等。

 

系统自带的logging模块,缺省就可以简单使用:

>>> import logging
>>> logging.debug('debug')
>>> logging.warn('debug')
WARNING:root:debug
>>> logging.debug('你好,调试')
>>> logging.warn('你好,调试')
WARNING:root:你好,调试

 

可见,在控制台,debug缺省是不打印的。

可以在编程时直接控制log的方式,也可以通过配置文件来进行。当然,配置文件更灵活。

 

2.1 logging的几个组件

Logger,Manager, Handler,Filter,Formatter,Configuration,Level

Logger 是应用中log的实例,Handler是输出的方式,如:

  • StreamHandler - logging to a stream, defaulting to sys.stderr.
  • FileHandler - logging to disk files.
  • RotatingFileHandler - logging to disk files with support for rollover, rotating files.
  • SocketHandler - logging to a streaming socket.
  • DatagramHandler - logging to a UDP socket.
  • SMTPHandler - logging to an email address.
  • SysLogHandler - logging to Unix syslog. Contributed by Nicolas Untz, based on Sam Rushing's syslog module .
  • MemoryHandler - buffering records in memory until a specific trigger occurs (or until the buffer gets full).
  • NTEventLogHandler - writes events to the NT event log. For this to work, you need to have Mark Hammond's Win32 extensions installed. (Though of course you can still log to NT from other platforms - just use SocketHandler to redirect to an NT Machine).
  • HTTPHandler - sends events to a WEB server using either GET or POST semantics.

Filter是设置的模块,哪些需要记录,都可以配置。

Formatter是输出的格式,可以格式化时间,模块,级别。

Level是输出的级别,有如下级别:

DEBUG
INFO
WARNING
ERROR
CRITICAL

log4j等原来的版本最高级是FATAL,python的logging最高级别是CTITICAL,因为FATAL是系统崩溃的错误。

 

下面是一个使用配置文件写log的例子:

周海汉 #date:2010.3.20 #file testlog.py import logging import logging.config loGConf = '/home/zhouhh/logconf.ini' logging.config.fileConfig(fname=logconf) log1 = logging.getLogger('modlog1') log1.debug('log1调试信息') log1.warn('log1警告信息') log1.error('log1 error错误信息') log2 = logging.getLogger('modlog1.modlog2') log2.debug('log2调试信息') log2.warn('log2警告信息') log2.error('log2 错误信息')

 

配置文件放在/home/zhouhh/logconf.ini

 

执行后,命令行看到输出:

文件python.log看到信息:

 

下面是一个比较完全的配置文件,从http://www.red-dove.com/python_logging.html拿过来的,功写logconf文件时参考:

 

3.参考:

http://www.red-dove.com/python_logging.html

http://www.python.org/dev/peps/pep-0282/

http://docs.python.org/library/logging.html#configuration

http://blog.donews.com/limodou/arcHive/2005/02/16/278699.aspx

--结束END--

本文标题: python 日志记录

本文链接: https://www.lsjlt.com/news/192744.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 日志记录
    周海汉 /文 http://blog.csdn.net/ablo_zhou 2010.3.20   一、我写的log4py介绍   在写<汉字大全 >时,自己实现了简单的log系统: #!/bin/env python #...
    99+
    2023-01-31
    日志 python
  • Python记录日志的方法
    日志不管对于开发或者运维都是一项非常重要的东西,它可以用来排错,解决故障,统计分析等。本文介绍python中的日志库的用法。导入日志库:import logging日志库的主要有以下方法:获取日志名,比如logging.getLogger(...
    99+
    2023-01-31
    方法 日志 Python
  • python-daemon日志记录的一个
    最近用到了python-daemon这个库来使一个进程成为daemon进程,代码大致如下: #!env python #coding=utf-8 import logging import multiprocessing impo...
    99+
    2023-01-31
    日志 python daemon
  • .NetCore日志记录之日志配置
    目录一、前言二、说明三、开始3.1 默认配置3.2 自定义配置3.2.1 代码添加提供程序3.2.2 代码添加过滤器3.2.3 配置文件自定义四、问题五、总结一、前言 在项目的开发维...
    99+
    2022-11-13
  • ASP.NET Core记录日志
    目录1.前言2.添加日志提供程序3.创建日志3.1启动时(Startup)创建日志3.2在程序中(Program)创建日志4.Configuration5.日志级别6.内置日志记录提...
    99+
    2022-11-13
  • Python中如何正确记录日志?
    Python是一种高级编程语言,它被广泛应用于各种领域,包括Web开发、数据科学和人工智能等。在开发Python应用程序时,日志记录是一个重要的任务,它可以帮助开发人员跟踪应用程序的行为并排查错误。本文将介绍如何在Python中正确记录日志...
    99+
    2023-08-11
    日志 numy load
  • Python 日志如何记录?学习笔记分享!
    Python是一种流行的编程语言,广泛应用于各种领域。当我们在编写Python代码时,我们需要记录应用程序中发生的事件和错误信息。这就是Python日志的作用。Python日志可以帮助我们快速定位应用程序中的问题,以便更快地解决它们。在这篇...
    99+
    2023-08-07
    关键字 日志 学习笔记
  • python怎么实现记录用户登录日志
    本篇内容主要讲解“python怎么实现记录用户登录日志”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么实现记录用户登录日志”吧!任务1、记录用户登录日志import ti...
    99+
    2023-06-29
  • 日志记录模块logging
    在python中,日志记录显示有两种方式,一种是保存在文件和打印屏幕上,一种保存在文件中。 第一种,直接保存在文件中。 1 import logging #日志模块,方便记录日志 2 3 # 下面是配置日志记录格式 4 lo...
    99+
    2023-01-30
    模块 日志 logging
  • PHP中的日志记录
    随着互联网技术的不断发展,越来越多的网站和应用程序开始采用PHP语言作为开发语言。作为一种轻量级的脚本语言,PHP拥有丰富的功能和灵活的语法,让程序员可以快速构建出高效的网站和应用程序。然而,在实际的开发过程中,程序出现错误或者异常是难以避...
    99+
    2023-05-23
    日志记录 PHP日志 编程日志
  • JavaScript怎么记录日志
    这篇文章主要介绍了JavaScript怎么记录日志的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript怎么记录日志文章都会有所收获,下面我们一起来看看吧。console.log()在浏览器中使用c...
    99+
    2023-07-06
  • Python开发之日志记录模块:logg
    最近在开发一个应用软件,为方便调试和后期维护,在代码中添加了日志,用的是Python内置的logging模块,看了许多博主的博文,颇有所得。不得不说,有许多博主大牛总结得确实很好。似乎我再写关于logging的博文有些多余,但不写总结又...
    99+
    2023-01-31
    模块 日志 Python
  • 如何在python中配置日志记录
    如何在python中配置日志记录?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、lon...
    99+
    2023-06-14
  • Python中如何使用numpy记录日志?
    Python是一种广泛使用的编程语言,其强大的数据处理能力和丰富的第三方库使其成为数据科学和机器学习领域的首选语言。在这些应用程序中,记录日志是一个非常重要的任务,因为它可以帮助开发人员找到应用程序中的错误并进行适当的修复。在本文中,我们将...
    99+
    2023-08-10
    numpy 日志 linux
  • .NetCore日志记录之自定义日志组件
    一、前言 回顾:日志记录之日志核心要素揭秘 在上一篇中,我们通过学习了解在.net core 中内置的日志记录中的几大核心要素,在日志工厂记录器(ILoggerFactory)中实现...
    99+
    2022-11-13
  • Python 日志系统:使用缓存 API 使日志记录更高效。
    在开发过程中,日志记录是一个非常重要的环节。它可以帮助我们在代码出错时快速定位问题,也可以帮助我们了解程序运行的情况。Python 提供了一个非常强大的日志系统,可以帮助我们高效地记录日志。而在这个日志系统中,使用缓存 API 可以让日志...
    99+
    2023-08-25
    日志 缓存 api
  • 怎么在python中利用 loguru记录日志
    本篇文章为大家展示了怎么在python中利用 loguru记录日志,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy...
    99+
    2023-06-14
  • Python日志记录:如何在shell中输出?
    日志是开发过程中非常重要的一个环节,通过记录程序运行时的各种信息,能够帮助开发者更好地了解程序的运行情况,方便调试和排查问题。Python提供了强大的日志记录模块logging,本文将介绍如何在shell中输出Python日志。 一、lo...
    99+
    2023-10-27
    path 日志 shell
  • python日志记录模块实例及改进
    python 打印对象的所有属性值: def prn_obj(obj): print 'n'.join(['%s:%s' % item for item in obj.__dict__.items...
    99+
    2022-06-04
    实例 模块 日志
  • Python 日志记录完整的异常信息
    基本范式是: try: do-something-block except: logger.exception("Exception Logged") def setLogger(): # 创...
    99+
    2023-01-31
    异常 完整 日志
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作