Python日志库的用法

日志不管对于开发或者运维都是一项非常重要的东西,它可以用来排错,解决故障,统计分析等。

本文介绍python中的日志库的用法。

日志库:import logging

要用日志需要先定义以下东西:

  1. 获取日志名,比如

    logging.getLogger(__name__)

  2. 定义Handler,比如

    logging.FileHandler(‘/var/log/messages‘)

  3. 设置级别,比如

    fh.setLevel(logging.DEBUG)

  4. 定义格式,比如

    formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)

  5. 打印日志,比如

    LOG.error("python logging test!!")

下面给出一段脚本用来输出日志到/var/log/messages和终端。

import logging
LOG = logging.getLogger(__name__)
LOG.setLevel(logging.ERROR)
formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)
fh = logging.FileHandler(‘/var/log/messages‘)
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
LOG.addHandler(fh)
ch = logging.StreamHandler()
ch.setLevel(logging.ERROR)
ch.setFormatter(formatter)
LOG.addHandler(ch)
LOG.error("python logging test!!")

运行下,你会发现/var/log/messages和屏幕上都会有类似“2015-06-28 07:41:41,527 - test - ERROR - python logging test!!”。

这是日志的最基本用法,以后会介绍更加复杂点的用法。

时间: 2024-10-11 07:30:11

Python日志库的用法的相关文章

Python日志库logging总结-可能是目前为止将logging库总结的最好的一篇文章

在部署项目时,不可能直接将所有的信息都输出到控制台中,我们可以将这些信息记录到日志文件中,这样不仅方便我们查看程序运行时的情况,也可以在项目出现故障时根据运行时产生的日志快速定位问题出现的位置. 1.日志级别 Python 标准库 logging 用作记录日志,默认分为六种日志级别(括号为级别对应的数值),NOTSET(0).DEBUG(10).INFO(20).WARNING(30).ERROR(40).CRITICAL(50).我们自定义日志级别时注意不要和默认的日志级别数值相同,loggi

Python标准库shutil用法实例详解

转:https://www.jb51.net/article/145522.htm shutil模块提供了许多关于文件和文件集合的高级操作,特别提供了支持文件复制和删除的功能. 文件夹与文件操作 copyfileobj(fsrc, fdst, length=16*1024): 将fsrc文件内容复制至fdst文件,length为fsrc每次读取的长度,用做缓冲区大小 fsrc: 源文件 fdst: 复制至fdst文件 length: 缓冲区大小,即fsrc每次读取的长度 ? 1 2 3 4 im

Python模板库Mako的用法

Mako是一个高性能的Python模板库,它的语法和API借鉴了很多其他的模板库,如Django.Jinja2等等. 基本用法 创建模板并渲染它的最基本的方法是使用 Template 类: from mako.template import Template t = Template('hello world!') print t.render() 传给 Template 的文本参数被编译为一个Python模块.模块包含一个 render_body() 函数,它产生模板的输出.调用 render

Python爬虫利器三之Xpath语法与lxml库的用法

前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法.如果大家对 BeautifulSoup 使用不太习惯的话,可以尝试下 Xpath. 参考文档: lxml python 官方文档 XPath语法参考 w3school 安装 pip install lxml 利用 pip 安装即可 XPath语法 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在

Selenium+python自动化12+日志logging基本用法、高级用法

1.关键字: login 登录 log 日志 logging python日志模块 2.什么叫日志: 日志用来记录用户行为或者代码的执行过程 3.日志使用的地方: 1.排错的时候需要打印很多细节来帮助排错 2.有一些用户行为,有没有错都要记录下来(后台) 3.严重的错误记录下来 4.logging模块的日志级别 两种书写格式: 格式一: 格式二: 日志输出 上面列表中的日志等级是从上到下依次升高的,即:DEBUG < INFO < WARNING < ERROR < CRITICA

Python标准库 (pickle包,cPickle包)

在之前对Python对象的介绍中 (面向对象的基本概念,面向对象的进一步拓展),我提到过Python"一切皆对象"的哲学,在Python中,无论是变量还是函数,都是一个对象.当Python运行时,对象存储在内存中,随时等待系统的调用.然而,内存里的数据会随着计算机关机和消失,如何将对象保存到文件,并储存在硬盘上呢? 计算机的内存中存储的是二进制的序列 (当然,在Linux眼中,是文本流).我们可以直接将某个对象所对应位置的数据抓取下来,转换成文本流 (这个过程叫做serialize),

Python标准库14 数据库 (sqlite3)

Python标准库14 数据库 (sqlite3) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具.SQLite还在其它领域有广泛的应用,比如HTML5和移动端.Python标准库中的sqlite3提供该数据库的接口. 我将创建一个简单的关系型数据库,为一个书店存

Python的__init__.py用法

python中包的引入,对于大型项目中都会使用到这个功能,把实现不同功能的python文件放在一起,组成不同lib库,然后在其他地方调用. 1.__init__.py基本介绍 首先看下面这个例子 例子1 #!/usr/bin/env python2.7 #-*- coding:utf-8 -*- from package.src.test import A a = A(2) a.aPrint() 从package包中的src子包中test.py文件中,引入A类,如何实现这一点?? 需要构建如下的

【python标准库学习】thread,threading(二)多线程同步

继上一篇介绍了python的多线程和基本用法.也说到了python中多线程中的同步锁,这篇就来看看python中的多线程同步问题. 有时候很多个线程同时对一个资源进行修改,这个时候就容易发生错误,看看这个最简单的程序: import thread, time count = 0 def addCount(): global count for i in range(100000): count += 1 for i in range(10): thread.start_new_thread(ad