Python: logging日志模块简单示例

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

         Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式。
        logging模块与log4j的机制是一样的,只是具体的实现细节不同。模块提供logger,handler,filter,formatter。
        logger:提供日志接口,供应用代码使用。logger最长用的操作有两类:配置和发送日志消息。可以通过logging.getLogger(name)获取logger对象,如果不指定name则返回root对象,多次使用相同的name调用getLogger方法返回同一个logger对象。
        handler:将日志记录(log record)发送到合适的目的地(destination),比如文件,socket等。一个logger对象可以通过addHandler方法添加0到多个handler,每个handler又可以定义不同日志级别,以实现日志分级过滤显示。
        filter:提供一种优雅的方式决定一个日志记录是否发送到handler。
        formatter:指定日志记录输出的具体格式。formatter的构造方法需要两个参数:消息的格式字符串和日期字符串,这两个参数都是可选的。
        与log4j类似,logger,handler和日志消息的调用可以有具体的日志级别(Level),只有在日志消息的级别大于logger和handler的级别。

        一个简单logging.config模块导入引用,从终端输出消息。 可以以此为基础,辅助代码调试

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
Created on Dec 19, 2012@author: honghe
'''
import logging
import logging.configlogging.config.fileConfig('logging.ini')
logger = logging.getLogger('simpleLogger')
msg = 'hello'
logger.debug('msg: %s', msg)
logging引用的配置文件: logging.ini
[loggers]
keys: root, simpleLogger[handlers]
keys: consoleHandler[formatters]
keys: simpleFormater[logger_root]
level: DEBUG
handlers: consoleHandler[logger_simpleLogger]
level: DEBUG
handlers: consoleHandler
qualname: simpleLogger
propagate: 0[handler_consoleHandler]
class: StreamHandler
formatter: simpleFormater
args: (sys.stdout,)[formatter_simpleFormater]
format: %(levelname)s %(message)s

转载于:https://my.oschina.net/leopardsaga/blog/97004

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源基金会为何辟谣 鸿蒙背后有何玄机

最近,鸿蒙OS曝光率极高,受网络舆论热捧。铁流原本是不太愿意碰这个雷的,因网友提问,所以谈一谈这个事情。OpenHarmony和Harmony是两回事6月2日,公司官宣鸿蒙OS,给出了百台机型的升级计划,而且还…

java get image获取根路径_Java 获取资源文件路径

1 问题描述通过源码运行时,一般使用如下方式读取资源文件:String str "1.jpg";资源文件与源码文件放在同一目录下,或者拥有同一父级目录:String str "a/b/1.jpg";这样直接编译运行没有问题,但是…

阿里云开源的Blink,计算能力很疯狂:一眨眼,全部都算好!

全世界只有3.14 % 的人关注了数据与算法之美前两天,阿里云宣布开源“计算王牌”——实时计算平台Blink,回馈给ApacheFlink社区。官方称,计算延迟已经降到毫秒级:浏览网页的时候,你只是眨了一下眼睛,但在淘宝…

NET问答: 如何用 C# 计算相对时间 ?

咨询区 Jeff Atwood:给定一个 DataTime 值,如何计算如下时间?比如说:2 小时前?3 天前?1 个月前?回答区 neuracnu:我在 DateTime 类上做了一个扩展方法,你可以给它传递未来…

有趣程序和让人捧腹大笑的注释,你的注释还不够骚

全世界只有3.14 % 的人关注了数据与算法之美一&#xff0c;这个是关于数组的操作&#xff0c;数据汪也是才知道&#xff0c;居然还有这种操作# include <stdio.h>int main(){ int num[] {1,2,3,4};printf("the 3[num] result is : %d\n", 2[num]);return 0;}结…

java linux下载文件_java 从linux 下载文件

public static void main(String[] args) {SshClient client new SshClient();try {ConsoleKnownHostsKeyVerification console new ConsoleKnownHostsKeyVerification();client.connect("192.168.13.51", 22);//IP和端口//设置用户名和密码PasswordAuthentication…

读jQuery之二十(Deferred对象)

Deferred对象是由 jQuery.Deferred 构造的&#xff0c;jQuery.Deferred 被实现为简单工厂模式。 它用来解决JS中的异步编程&#xff0c;它遵循 Common Promise/A 规范。实现此规范的还有 when.js 和 dojo。 $.Deferred作为新特性首次出现在版本1.5中&#xff0c;这个版本利用De…

.NET之盛派微信SDK简单操作

开篇语在6月5号&#xff0c;我报名去参加了微软举办的一个线下分享的技术市集&#xff0c;分享人是苏老师和赵老师(非常感谢)&#xff0c;其中苏老师讲述了关于一些容器的部署等操作(也可以观看我的历史文章)&#xff0c;其中关于部署的示例代码是使用盛派微信SDK做了一个对接微…

预售┃连锁反应装置积木好玩到尖叫!

▲数据汪特别推荐点击上图进入玩酷屋之前推荐的“小小机械师”成了孩子最受欢迎的玩具&#xff0c;玩了的孩子几乎没有不喜欢的。还有家长买多套送给朋友的孩子作为生日礼物。有家长来问&#xff0c;还有没有这种类型的新产品。和厂家咨询后&#xff0c;小木找到了一款“小小机…

java文件调用脚本_Java中调用文件中所有bat脚本

//调用外部脚本String fileipsnull;//所有的路径String[] filesnull;String fileipnull;//单个路径try {InputStream is Thread.currentThread().getContextClassLoader().getResourceAsStream("pdfconfig.properties"); //加载线程文件成为流Properties prop new …

VMware VSphere 虚拟化云计算学习配置笔记(四)

2:接下来配置安装vcenter-db&#xff0c;安装MS SQL 2008r2 在vcenter-db服务器上安装配置MS SQL 2008r2过程截图&#xff1a; 这里可能会要耐心等一下才会出现一下提示&#xff1a; 选择左边installation 之后出现右边第一项新的安装&#xff1a; 转载于:https://blog.51cto.c…

【招聘(北京)】今天誉讯(北京)有限公司招聘高级.NET软件开发前端工程师

.NET高级开发工程师薪水范围&#xff1a;18-25k工作职责1、负责公共平台开发与维护&#xff0c;根据网站发展对技术架构不断调整、对网站性能调优&#xff1b;2、完成详细需求的分析与设计&#xff0c;并完成相关技术文档&#xff1b;3、按照项目任务和项目计划&#xff0c;完成…

IT人回家过年的尴尬

全世界只有3.14 % 的人关注了数据与算法之美春节将至&#xff0c;有很多人已经踏上了返乡的旅途&#xff0c;回家开开心心过春节&#xff0c;归心似箭的心表明了他们对家乡的热爱&#xff0c;归心似箭的心显示了他们想念父母的情&#xff0c;归心似箭的心代表了他们对朋友的思。…

java 判断进程状态_获取远程服务器上 Java 进程的运行状态

为了安全考虑, 有些服务器会被限制登录. 本文介绍如何获取远程服务器上 Java 进程的运行状态.启动 jstatd 服务在服务器端启动 jstatd 服务后, 远程的机器可以通过 rmi 协议获取服务器上 Java 程序的运行状态.在服务器上创建 jstatd 的授权文件, 假设文件路径为/etc/jstatd.all…

彻底搞定C指针-函数名与函数指针[转]

一 通常的函数调用 一个通常的函数调用的例子&#xff1a; //自行包含头文件 void MyFun(int x); //此处的申明也可写成&#xff1a;void MyFun( int );int main(int argc, char* argv[]) {MyFun(10); //这里是调用MyFun(10);函数return 0; }void MyFun(int x) //这…

聊一聊Elasticsearch和MySQL的常用操作

前言 ElasticSearch&#xff0c;开源的搜索和数据分析引擎&#xff0c;也是名列前茅的 nosql。很多时候会想拿它和关系型数据库做对比&#xff0c;严格上它们是没有太多可比性的。不过把有的东西放在一起比较&#xff0c;会帮助我们快速去理解一些 ElasticSearch 的内容。老黄这…

入门Python,限时1元!

爆竹声中一岁除&#xff0c;春风送暖入屠苏。猪年来袭&#xff0c;小天先跟各位模粉拜年啦&#xff01;当然&#xff0c;小天还准备了限时福利送给大家~套路&#xff1f;不存在的&#xff01;限时9元1深度学习限时体验第一章 深度学习概述与计算机视觉挑战1.1深度学习概述1.2 挑…

java 线程访问控件_C#多线程与跨线程访问界面控件的方法

本文实例讲述了C#多线程与跨线程访问界面控件的方法。分享给大家供大家参考。具体分析如下&#xff1a;在编写WinForm访问WebService时&#xff0c;常会遇到因为网络延迟造成界面卡死的现象。启用新线程去访问WebService是一个可行的方法。典型的&#xff0c;有下面的启动新线程…

centos服务器解决vsftp连接时的“550 Create directory operation failed.”错误

在centos服务器中配置好vsftp后&#xff0c;开了root用户上传权限&#xff0c;也关了系统的防火墙&#xff0c;但ftp连接的时候依然还会出现 "550 Create directory operation failed." 错误&#xff0c;如何解决呢&#xff1f; 解决&#xff1a; 1、查看 SELinux 的…

使用 Bridge to Kubernetes 简化云端开发

当我们面对一个大型应用程序&#xff0c;它有大量的微服务&#xff0c;并希望完成一些功能开发&#xff1f;我们面临许多挑战&#xff0c;其中之一将是处理正确的环境&#xff0c;如何进行开发。我们知道&#xff0c;在团队中解决这个问题的最佳方法是将其容器化并在云上托管。…