Python同时向控制台和文件输出日志logging的方法
本文实例讲述了Python同时向控制台和文件输出日志logging的方法。分享给大家供大家参考。具体如下:
python提供了非常方便的日志模块,可实现同时向控制台和文件输出日志的功能。
#-*- coding:utf-8 -*- import logging # 配置日志信息 logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s', datefmt='%m-%d %H:%M', filename='myapp.log', filemode='w') # 定义一个Handler打印INFO及以上级别的日志到sys.stderr console = logging.StreamHandler() console.setLevel(logging.INFO) # 设置日志打印格式 formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s') console.setFormatter(formatter) # 将定义好的console日志handler添加到root logger logging.getLogger('').addHandler(console) logging.info('Jackdaws love my big sphinx of quartz.') logger1 = logging.getLogger('myapp.area1') logger2 = logging.getLogger('myapp.area2') logger1.debug('Quick zephyrs blow, vexing daft Jim.') logger1.info('How quickly daft jumping zebras vex.') logger2.warning('Jail zesty vixen who grabbed pay from quack.') logger2.error('The five boxing wizards jump quickly.')
希望本文所述对大家的Python程序设计有所帮助。
相关推荐
-
Python中使用logging模块打印log日志详解
学一门新技术或者新语言,我们都要首先学会如何去适应这们新技术,其中在适应过程中,我们必须得学习如何调试程序并打出相应的log信息来,正所谓"只要log打的好,没有bug解不了",在我们熟知的一些信息技术中,log4xxx系列以及开发Android app时的android.util.Log包等等都是为了开发者更好的得到log信息服务的.在Python这门语言中,我们同样可以根据自己的程序需要打出log. log信息不同于使用打桩法打印一定的标记信息,log可以根据程序需要而分出不同的l
-
详解Python中的日志模块logging
许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪.在.NET平台中,有非常著名的第三方开源日志组件log4net,c++中,有人们熟悉的log4cpp,而在python中,我们不需要第三方的日志组件,因为它已经为我们提供了简单易用.且功能强大的日志模块:logging.logging模块支持将日志信息保存到不同的目标域中,如:保存到日志文件中:以邮件的形式发送日志信息:以http get或post的方式提交日志到web服务器:以windows事
-
详解Python中logging日志模块在多进程环境下的使用
前言 相信每位程序员应该都知道,在使用 Python 来写后台任务时,时常需要使用输出日志来记录程序运行的状态,并在发生错误时将错误的详细信息保存下来,以别调试和分析.Python 的 logging 模块就是这种情况下的好帮手. logging 模块可以指定日志的级别,DEBUG.INFO.WARNING.ERROR.CRITICAL,例如可以在开发和调试时,把 DEBUG 以上级别的日志都输出,而在生产环境下,只输出 INFO 级别.(如果不特别指定,默认级别是 warning) loggi
-
python logging 日志轮转文件不删除问题的解决方法
前言 最近在维护项目的python项目代码,项目使用了 python 的日志模块 logging, 设定了保存的日志数目, 不过没有生效,还要通过contab定时清理数据. 分析 项目使用了 logging 的 TimedRotatingFileHandler : #!/user/bin/env python # -*- coding: utf-8 -*- import logging from logging.handlers import TimedRotatingFileHandler l
-
python logging日志模块的详解
python logging日志模块的详解 日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL. DEBUG:详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如.磁盘空间低").这个软件还能按预期工作. ERROR:更严重的问题,软件没能执行一些功能 CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行 这5个等级,也
-
Python中内置的日志模块logging用法详解
logging模块简介 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用.这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式. logging模块与log4j的机制是一样的,只是具体的实现细节不同.模块提供logger,handler,filter,formatter. logger:提供日志接口,供应用代码使用.logger最长用的操作有两类:配置和发
-
Python日志模块logging简介
logging分为4个模块: loggers, handlers, filters, and formatters. ●loggers: 提供应用程序调用的接口 ●handlers: 把日志发送到指定的位置 ●filters: 过滤日志信息 ●formatters: 格式化输出日志 Logger Logger.setLevel() 设置日志级别 Logger.addHandler()和Logger.removeHandler() 增加和删除日志处理器 Logger.addFilter()和Log
-
python中日志logging模块的性能及多进程详解
前言 Java 中最通用的日志模块莫过于 Log4j 了,在 python 中,也自带了 logging 模块,该模块的用法其实和 Log4j 类似.日志是记录操作的一种好方式.但是日志,基本都是基于文件的,也就是要写到磁盘上的.这时候,磁盘将会成为一个性能瓶颈.对于普通的服务器硬盘(机械磁盘,非固态硬盘),Python日志的性能瓶颈是多少呢?今天我们就来测一下.下面话不多说,来一起看看详细的介绍: 测试代码如下: #! /usr/bin/env python #coding=utf-8 # =
-
python标准日志模块logging的使用方法
最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下.python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果你想开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件,只要这样使用: 复制代码 代码如下: import logging# 创建一个loggerlogger = logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)# 创建一个ha
-
python改变日志(logging)存放位置的示例
实现了简单版本的logging.config,支持一般的通过config文件进行配置.感觉还有更好的方法,是直接利用logging.config.fileConfig(log_config_file)方式读进来之后,通过修改handler方式来进行修改. 复制代码 代码如下: """project trace system"""import sysimport ConfigParserimport loggingimport logging.co
-
Python使用logging结合decorator模式实现优化日志输出的方法
本文实例讲述了Python使用logging结合decorator模式实现优化日志输出的方法.分享给大家供大家参考,具体如下: python内置的loging模块非常简便易用, 很适合程序运行日志的输出. 而结合python的装饰器模式,则可实现简明实用的代码.测试代码如下所示: #! /usr/bin/env python2.7 # -*- encoding: utf-8 -*- import logging logging.basicConfig(format='[%(asctime)s]
随机推荐
- FCKeditor 2.6 编码错误导致修改的内容出现乱码的解决方法
- 安装sql server 2008时的4个常见错误和解决方法
- 利用 filter 机制给静态资源 url 加上时间戳,来防止js和css文件的缓存问题
- 详解iOS开发中UITableview cell 顶部空白的多种设置方法
- asp.net 请求输入到输出的全过程及httpHandler和httpModuler详细介绍
- PHP 循环删除无限分类子节点的实现代码
- php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
- 使用Python的Tornado框架实现一个一对一聊天的程序
- C# 获取当前星期几三种实现方法
- struts2如何使用拦截器进行用户权限控制实例
- jQuery 翻牌或百叶窗效果(内容三秒自动切换)
- 百度空间的popup效果分析第1/3页
- Android APP使用自定义字体实现方法
- C#使用DataSet Datatable更新数据库的三种实现方法
- IntelliJ IDEA(2017)安装和破解的方法
- SpringBoot项目没有把依赖的jar包一起打包的问题解决
- 详解基于python的多张不同宽高图片拼接成大图
- 在python中使用requests 模拟浏览器发送请求数据的方法
- iOS端React Native差异化增量更新的实现方法
- JQuery常见节点操作实例分析