---恢复内容开始---

python中logging的使用
什么是日志: 
日志是一种可以追踪某些软件运行时所发生事件的方法
软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情
一个事件可以用一个可包含可选变量数据的消息来描述
此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level)
日志的作用:
通过log的分析,可以方便用户了解系统或软件、应用的运行情况;
如果你的应用log足够丰富,也可以分析以往用户的操作行为、类型喜好、地域分布或其他更多信息;
如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状况,及时发现问题并快速定位、解决问题,补救损失。
简单来讲就是
我们通过记录和分析日志可以了解一个系统或软件程序运行情况是否正常,
也可以在应用程序出现故障时快速定位问题。
不仅在开发中,在运维中日志也很重要
日志的作用可以简单总结为以下几点:
程序调试
了解软件程序运行情况,是否正常
软件程序运行故障分析与问题定位
如果应用的日志信息足够详细和丰富,还可以用来做用户行为分析
使用日志:
  首先,我们需要先了解下python中日志的等级:
FATAL/CRITICAL = 重大的,危险的
ERROR = 错误
WARNING = 警告
INFO = 信息
DEBUG = 调试
NOTSET = 没有设置
我们需要配置自己的日志,以往的开发经验 ,开发应用程序或部署开发环境时,可以使用 DEBUG 或 INFO 级别的日志获取尽可能详细的日志信息来进行开发或部署调试;应用上线或部署生产环境时,应该使用 WARNING 或 ERROR 或 CRITICAL 级别的日志来降低机器的I/O压力和提高获取错误日志信息的效率。
那么怎么样使用日志记录信息呢?
loggers 提供应用程序代码直接使用的接口
handlers 用于将日志记录发送到指定的目的位置
filters 提供更细粒度的日志过滤功能,用于决定哪些日志记录将会被输出(其它的日志记录将会被忽略)
formatters 用于控制日志信息的最终输出格式
具体配置可以参照以下代码:

设置日志的记录等级
logging.basicConfig(level=logging.DEBUG) # 调试debug级
创建日志记录器,指明日志保存的路径、每个日志文件的最大大小、保存的日志文件个数上限
file_log_handler = RotatingFileHandler("logs/log", maxBytes=10241024100, backupCount=10)
创建日志记录的格式 日志等级 输入日志信息的文件名 行数 日志信息
formatter = logging.Formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s')
为刚创建的日志记录器设置日志记录格式
file_log_handler.setFormatter(formatter)
为全局的日志工具对象(flask app使用的)添加日志记录器
logging.getLogger().addHandler(file_log_handler)
对日志进行简单的输出: 

import logging

logging.debug("This is a debug log.")
logging.info("This is a info log.")
logging.warning("This is a warning log.")
logging.error("This is a error log.")
logging.critical("This is a critical log.")
  或者可以将以上的代码进行简单的修改

logging.log(logging.DEBUG, "This is a debug log.")
logging.log(logging.INFO, "This is a info log.")
logging.log(logging.WARNING, "This is a warning log.")
logging.log(logging.ERROR, "This is a error log.")
logging.log(logging.CRITICAL, "This is a critical log.")

最后我们可以修改 logging.basicConfig(level=logging.DEBUG)的日志等级来控制日志的输出

---恢复内容结束---

python中logging的使用
什么是日志: 
日志是一种可以追踪某些软件运行时所发生事件的方法
软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情
一个事件可以用一个可包含可选变量数据的消息来描述
此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level)
日志的作用:
通过log的分析,可以方便用户了解系统或软件、应用的运行情况;
如果你的应用log足够丰富,也可以分析以往用户的操作行为、类型喜好、地域分布或其他更多信息;
如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状况,及时发现问题并快速定位、解决问题,补救损失。
简单来讲就是
我们通过记录和分析日志可以了解一个系统或软件程序运行情况是否正常,
也可以在应用程序出现故障时快速定位问题。
不仅在开发中,在运维中日志也很重要
日志的作用可以简单总结为以下几点:
程序调试
了解软件程序运行情况,是否正常
软件程序运行故障分析与问题定位
如果应用的日志信息足够详细和丰富,还可以用来做用户行为分析
使用日志:
  首先,我们需要先了解下python中日志的等级:
FATAL/CRITICAL = 重大的,危险的
ERROR = 错误
WARNING = 警告
INFO = 信息
DEBUG = 调试
NOTSET = 没有设置
  我们需要配置自己的日志,以往的开发经验 ,开发应用程序或部署开发环境时,可以使用 DEBUG 或 INFO 级别的日志获取尽可能详细的日志信息来进行开发或部署调试;应用上线或部署生产环境时,应该使用 WARNING 或 ERROR 或 CRITICAL 级别的日志来降低机器的I/O压力和提高获取错误日志信息的效率。
  那么怎么样使用日志记录信息呢?
loggers 提供应用程序代码直接使用的接口
handlers 用于将日志记录发送到指定的目的位置
filters 提供更细粒度的日志过滤功能,用于决定哪些日志记录将会被输出(其它的日志记录将会被忽略)
formatters 用于控制日志信息的最终输出格式
  具体配置可以参照以下代码:

设置日志的记录等级
logging.basicConfig(level=logging.DEBUG) # 调试debug级
创建日志记录器,指明日志保存的路径、每个日志文件的最大大小、保存的日志文件个数上限
file_log_handler = RotatingFileHandler("logs/log", maxBytes=10241024100, backupCount=10)
创建日志记录的格式 日志等级 输入日志信息的文件名 行数 日志信息
formatter = logging.Formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s')
为刚创建的日志记录器设置日志记录格式
file_log_handler.setFormatter(formatter)
为全局的日志工具对象(flask app使用的)添加日志记录器
logging.getLogger().addHandler(file_log_handler)
   对日志进行简单的输出: 

import logging

logging.debug("This is a debug log.")
logging.info("This is a info log.")
logging.warning("This is a warning log.")
logging.error("This is a error log.")
logging.critical("This is a critical log.")
  或者可以将以上的代码进行简单的修改

logging.log(logging.DEBUG, "This is a debug log.")
logging.log(logging.INFO, "This is a info log.")
logging.log(logging.WARNING, "This is a warning log.")
logging.log(logging.ERROR, "This is a error log.")
logging.log(logging.CRITICAL, "This is a critical log.")

最后我们可以修改 logging.basicConfig(level=logging.DEBUG)的日志等级来控制日志的输出

python logging的输出的更多相关文章

  1. python logging日志输出个文件中

    # -*- coding:utf-8 -*- import logging # 引入logging模块 import os.path import time # 第一步,创建一个logger logg ...

  2. Python Logging模块 输出日志颜色、过期清理和日志滚动备份

    # coding:utf-8 import logging from logging.handlers import RotatingFileHandler # 按文件大小滚动备份 import co ...

  3. Python logging模块无法正常输出日志

    废话少说,先上代码 File:logger.conf [formatters] keys=default [formatter_default] format=%(asctime)s - %(name ...

  4. python logging模块

    1.logging模块提供了四个组件logger:日志类,有两个功能1)配置日志的等级,处理器handler,过滤器filterlogger.setLevel(logging.INFO)logger. ...

  5. python logging 配置

    python logging 配置 在python中,logging由logger,handler,filter,formater四个部分组成,logger是提供我们记录日志的方法:handler是让 ...

  6. Python LOGGING使用方法

    Python LOGGING使用方法 1. 简介 使用场景 场景 适合使用的方法 在终端输出程序或脚本的使用方法 print 报告一个事件的发生(例如状态的修改) logging.info()或log ...

  7. python logging模块使用

    近来再弄一个小项目,已经到收尾阶段了.希望加入写log机制来增加程序出错后的判断分析.尝试使用了python logging模块. #-*- coding:utf-8 -*- import loggi ...

  8. 修改Python文件日志输出位置

    Python logging模块介绍:http://blog.chinaunix.net/uid-26000296-id-4372063.html [root@fuel ~]# vi /var/lib ...

  9. python Logging的使用

    日志是用来记录程序在运行过程中发生的状况,在程序开发过程中添加日志模块能够帮助我们了解程序运行过程中发生了哪些事件,这些事件也有轻重之分. 根据事件的轻重可分为以下几个级别: DEBUG: 详细信息, ...

随机推荐

  1. 京东云与AI 10 篇论文被AAAI 2020 收录,京东科技实力亮相世界舞台

    美国时间2月7-12日,AAAI 2020大会在纽约正式拉开序幕,AAAI作为全球人工智能领域的顶级学术会议,每年评审并收录来自全球最顶尖的学术论文,这些学术研究引领着技术的趋势和未来.京东云与AI在 ...

  2. 记号一下用iptables做的端口转发

    iptables -t nat -I PREROUTING -p tcp -m tcp --dport 83 -j DNAT --to-destination 192.168.1.55:443ipta ...

  3. 吴裕雄--天生自然java开发常用类库学习笔记:对象克隆技术

    class Person implements Cloneable{ // 实现Cloneable接口表示可以被克隆 private String name ; public Person(Strin ...

  4. 定义一个共享数据块DB1 在DB1中定义一个数组 用程序 访问数据里面的某一个成员或者地址连续的成员

    提纲 : 定义一个共享数据块 DB1 在DB1 中定义数组 用SFC21 实现 实现全部数组元素的赋一样的值 实现 给数组中的某一个元素赋值 实现 对数组中的全部元素赋值 实现将数组中的某个 或者 某 ...

  5. Ican协议建立连接我的感悟

    有一个情形我突然之间想明白了. 注意下面情形:                             假设节点A与节点B已经 正常的建立了连接,并且进行了通讯. 假设 节点B收到了 节点A 的 &q ...

  6. 锤子科技向OpenBSD基金会捐款195 万

    导读 专注于提供 OpenBSD 资讯的网站 OpenBSD Journal 昨日报道了锤子科技成为 OpenBSD 基金会 2019 年首位铱金捐赠者的消息. 根据 OpenBSD Journal ...

  7. JPA#复杂查询#自定义查询

    编写自定义SQL基于下面信息:1. SpringData JPA 在为Repository接口生成实现的时候,会查找是否有 "接口名称"+"Impl"的类,如果 ...

  8. 虚拟化安全服务器のIP修改配置

    1)进入网卡配置文件目录(以centos7.6为例) cd /etc/sysconfig/network-scripts     2)编辑配置文件(根据自己机器实际网卡进行编辑), 如Vi ifcfg ...

  9. thinkphp调用sqlserver储存过程返回多个结果集

    首先安装扩展 windows 分为两个步骤 找到对应自己PHP版本的pdo扩展,下载解压出来,并且在php.ini里面启用扩展,需要注意的问题是php版本以及是否为安全版本 下载 ODBC Drive ...

  10. 十一、SAP文本变量,并设置长度

    一.在SAP中,一个中文占用2个文本长度,详见代码: 二.效果如下