日志级别:
'CRITICAL': CRITICAL,
'ERROR': ERROR,
'WARN': WARNING,
'WARNING': WARNING,
'INFO': INFO,
'DEBUG': DEBUG,
'NOTSET': NOTSET,
import logging
logging.warning("user [wy] attempted wrong password more than 3 times")
logging.critical("server is down")
输出:
WARNING:root:user [wy] attempted wrong password more than 3 times
CRITICAL:root:server is down 如何把日志写入到文件中?
import logging
logging.basicConfig(filename="example.log",level=logging.INFO) #filename后面是日志文件名,level为INFO级别,日志文件会记录INFO级别以上的日志
logging.warning("user [wy] attempted wrong password more than 3 times")
logging.info("show this")
logging.debug("this is erro")
logging.critical("server is down")
生成一个新的文件example.log
example.log记录:
WARNING:root:user [wy] attempted wrong password more than 3 times
INFO:root:show this
CRITICAL:root:server is down 日志级别:debug<info<warning<critical
 怎么在日志中加入时间?
import logging
logging.basicConfig(filename="example.log",level=logging.INFO,format="%(asctime)s %(message)s",datefmt="%m/%d/%Y %I:%M:%S %p") #注意大小写
logging.warning("user [wy] attempted wrong password more than 3 times")
logging.info("show this")
logging.debug("this is erro")
logging.critical("server is down") example.log显示:
10/20/2016 08:49:32 PM user [wy] attempted wrong password more than 3 times
10/20/2016 08:49:32 PM show this
10/20/2016 08:49:32 PM server is down
 实际生产中,我们要把日志打印到文件中,也要打印到屏幕上。
在这里我们需要了解日志模块的一些复杂的知识了,这里有4个功能:Loggers,Handlers,Filters,Formatters
1 Loggers expose the interface that application code directly #直接调用
2 Handlers send the log records (created by loggers) to the appropriate destination #把日志发送到不同的地方(屏幕,本地文件等)
3 Filters provide a finer grained facility for determing which log records to output #日志过滤,
4 Formatters specify the layout of log records in the final output #字符串格式化

要求:我们要把INFO级别以上的日志打印到屏幕上,把warning级别以上的日志打印到文件中。

import logging
logger = logging.getLogger("TEST-LOG") #获取日志对象
logger.setLevel(logging.DEBUGE) #设置全局日志级别 ch = logging.StreamHandler() #把日志打印到屏幕
ch.setLevel(logging.INFO) #打印到屏幕的日志级别 fh = logging.FileHandler("access.log") #输出到access.log文件中
fh.setLevel(logging.WARNING) #输出到文件中的日志级别 formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") #格式化输出日志
ch.setFormatter(formatter) #打印到屏幕上的日志格式
fh.setFormatter(formatter)#打印到文件中的日志 logger.addHandler(ch) #告诉logger输出日志到具体的handler
logger.addHandler(fh)#告诉logger输出日志到具体的handler 我们可以给打印到屏幕上的日志和打印到文件中的日志定义不同的格式 logger.debug("debug message")
logger.info("info message")
logger.error("error message")
logger.warning("warning message")
logger.critical("critical message") 注意:当全局日志级别高于我们自定义到日志文件中和屏幕上的日志级别时,会按照全局日志级别来打印日志到文件中和屏幕上
当全局日志级别低于我们自定义到日志文件中和屏幕上的日志级别时,会按照我们自定义的日志级别来打印

日志处理之logging模块的更多相关文章

  1. Python之日志处理(logging模块)

    本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日 ...

  2. 【转】Python之日志处理(logging模块)

    [转]Python之日志处理(logging模块) 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging ...

  3. Python之日志处理(logging模块)《转载》

    Python之日志处理(logging模块): https://www.cnblogs.com/yyds/p/6901864.html

  4. Python之日志处理(logging模块)转载

    本人主要做一个知识的归类与记录,如是转载类文章,居首都会备注原链接,尊重原创者,谢谢! 此文转载原链接:https://www.cnblogs.com/yyds/p/6901864.html 本节内容 ...

  5. Python之日志处理(logging模块一基础)

    转载自:https://www.cnblogs.com/yyds/p/6901864.html 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logg ...

  6. 以打印日志为荣之logging模块详细使用

    啄木鸟社区里的Pythonic八荣八耻有一条: 以打印日志为荣 , 以单步跟踪为耻; 很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出,python ...

  7. 优雅地记录Python程序日志1:logging模块简介

    本文摘自:https://zhuanlan.zhihu.com/p/31893724 本篇涉及: logging模块的调用: 保存log日志为文件: 调整输入日志等级: 修改日志消息格式: 前言 在使 ...

  8. Python中的日志记录方案-logging模块&loguru模块

    原文链接 原创: 崔庆才 在 Python 中,一般情况下我们可能直接用自带的 logging 模块来记录日志,包括我之前的时候也是一样.在使用时我们需要配置一些 Handler.Formatter ...

  9. Python之日志处理(logging模块二实战)

    实战篇 import logging import logging.handlers LOG_PATH = r'./' def logConfig_1(): ''' 配置 log 输出到文件 : fi ...

随机推荐

  1. webpack-vue搭建,部署到后端

    1.安装npm(安装node自带npm),npm安装成功测试 2.安装cnpm,也可以装nvm-windows 步骤1,打开user/admin/.npmrc,输入,也可以用命令 步骤2,输入npm ...

  2. HDU 2222 关键词查找

    题目大意:给出一篇文章,长度最多1000000,若干个关键词,关键词有可能重复.关键词不超过10000,每个关键词不超过50个字符.请问该文章包含多少个关键词. 这是AC自动机的入门题.首先将关键词分 ...

  3. Files 的值“ < < < < < < < .mine”无效。路径中具有非法字符。

    出现这个问题的原因是,用svn时,发生了冲突.解决方法:先解决代码冲突,然后在你的工程OBJ/DEBUG目录下,找到 工程名.csproj.FileListAbsolute.txt的文件打开并删除含有 ...

  4. ASP.Net上传大文件解决方案之IIS7.0下的配置

    开源的Brettle.Web.NeatUpload.在公司IIS6.0使用正常,但是在Windows 2008 server IIS7上使用不正常.在网上看到一个解决办法但是没有效果 IIS 7 默认 ...

  5. 64位Windows2008下插入Oracle中文乱码问题解决

    最近迁移一个.net应用系统从32位Windows2003升级到64位的Windows2008中,发现所有涉及中文的内容插入到Oracle数据库中都变为?,最开始以为是2008系统的字符集与Oracl ...

  6. 带无缝滚动的轮播图(含JS运动框架)

    今天学习了一下轮播图的写作,想到前一阵学过的无缝滚动得思想,所以就把轮播与滚动结合了一下.不过我的代码的神逻辑我自己都不敢恭维,在没网没参照的情况下,只能硬着头皮往下写,希望跟大家共勉吧. js运动框 ...

  7. Sql Server Job 简单使用

    http://www.cnblogs.com/zerocc/p/3400529.html(转载) use msdb EXEC sp_add_job @job_name =   'tk_bakdata' ...

  8. Android屏幕适配全攻略 (转载)

    http://blog.csdn.net/jdsjlzx/article/details/45891551 https://github.com/hongyangAndroid/AndroidAuto ...

  9. 检测文件是否有BOM 头,并删除BOM头(php)

    将下面文件放在网站根目录访问即可,它会遍历当前目录下所有子目录,检测文件是否含有BOM头,并删除BOM头 <?php //remove the utf-8 boms //by magicbug ...

  10. 锋利的jQuery学习总结

    通过对<锋利的jQuery>(第二版)一书的学习,发现此书讲解通俗易懂,是学习jQuery的一本很好的指导书,特作如下总结.此书主要讲解了jQuery的常用操作,包括认识jQuery,jQ ...