Python-logging模块简单使用
logging模块只要用于日志的打印。模块的源码在:Lib/logging/__init__.py
其中,logging.basicConfig(**kwargs)方法用于进行基本的属性配置,它的参数是可变的,主要有以下参数可以进行配置:

filename:指定创建的文件名;
filemode:指定文件的访问模式,如果未指定,默认为"a";
format:指定打印的格式;
datefmt:指定日期/时间打印格式;
level:指定打印等级;
stream:暂不清楚如何使用。
其中,filemode就是对文件操作的模式,主要有:
|
文件模式 |
操作 |
|
r |
以读方式打开 |
|
rU或U |
以读方式打开,同时提供通用换行符支持 |
|
w |
以写方式打开(必要时情况) |
|
a |
以追加模式打开(从EOF开始,必要时创建新文件) |
|
r+ |
以读写模式打开 |
|
w+ |
以读写模式打开(参见w) |
|
a+ |
以读写方式打开(参见a) |
|
rb |
以二进制读模式打开 |
|
wb |
以二进制写模式打开(参见w) |
|
ab |
以二进制追加模式打开(参加a) |
|
rb+ |
以二进制读写模式打开(参见r+) |
|
wb+ |
以二进制读写模式打开(参见w+) |
|
ab+ |
以二进制读写模式打开(参见a+) |
format参数指定打印的格式:

datefmt参数设置日期和时间的打印格式:

level表示打印等级,打印等级是具有优先级的,并且向高优先级兼容,优先级顺序为:DEBUG<INFO<WARNING<ERROR<CRITICAL。例如打印等级设置为DEBUG,则高于DEBUG的等级的打印函数也会执行。

测试代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*- import logging # 设置logging.basicConfig()方法的参数
FORMAT = '%(asctime)s [%(funcName)s: %(lineno)d]: %(message)s'
LEVEL = logging.INFO
FILENAME = "logfile.log"
FILEMODE = "w+"
DATEFMT = '%m/%d/%Y %I:%M:%S %p' # 配置logging.basicConfig函数
logging.basicConfig(filename=FILENAME, filemode=FILEMODE, datefmt=DATEFMT ,level = LEVEL, format=FORMAT) def display_func():
# 使用不同的打印等级函数进行打印
logging.debug('test debug')
logging.info('test info')
logging.warning('test warning')
logging.error('test error') if __name__ == '__main__':
display_func()
测试结果:打印信息输出在logfile.log文件中,文件的内容如下:

参考链接:
https://docs.python.org/2/library/logging.html
Python-logging模块简单使用的更多相关文章
- python logging模块可能会令人困惑的地方
python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...
- python logging模块使用
近来再弄一个小项目,已经到收尾阶段了.希望加入写log机制来增加程序出错后的判断分析.尝试使用了python logging模块. #-*- coding:utf-8 -*- import loggi ...
- 读懂掌握 Python logging 模块源码 (附带一些 example)
搜了一下自己的 Blog 一直缺乏一篇 Python logging 模块的深度使用的文章.其实这个模块非常常用,也有非常多的滥用.所以看看源码来详细记录一篇属于 logging 模块的文章. 整个 ...
- Python logging 模块学习
logging example Level When it's used Numeric value DEBUG Detailed information, typically of interest ...
- python logging—模块
python logging模块 python logging提供了标准的日志接口,python logging日志分为5个等级: debug(), info(), warning(), error( ...
- 0x01 Python logging模块
目录 Python logging 模块 前言 logging模块提供的特性 logging模块的设计过程 logger的继承 logger在逻辑上的继承结构 logging.basicConfig( ...
- (转)python logging模块
python logging模块 原文:http://www.cnblogs.com/dahu-daqing/p/7040764.html 1 logging模块简介 logging模块是Python ...
- python shutil模块简单介绍
python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...
- Python logging模块无法正常输出日志
废话少说,先上代码 File:logger.conf [formatters] keys=default [formatter_default] format=%(asctime)s - %(name ...
- 0x03 Python logging模块之Formatter格式
目录 logging模块之Formatter格式 Formater对象 日志输出格式化字符串 LogRecoder对象 时间格式化字符串 logging模块之Formatter格式 在记录日志是,日志 ...
随机推荐
- CodeForces - 617E XOR and Favorite Number (莫队+前缀和)
Bob has a favorite number k and ai of length n. Now he asks you to answer m queries. Each query is g ...
- E40笔记本无线网卡
E40笔记本无线网卡详情 网卡名称 Intel(R) Dual Band Wireless-AC 3160 网卡厂商 英特尔 Mac地址 34:E6:AD: 规格 - 基本要素 状态 Launched ...
- 第二阶段:4.商业需求文档MRD:3.PRD-页面结构图
这也是功能结构以及优先级 这是页面层级 页面结构图 再细分某一个频道或者子页面 层层细分 用mind做的页面结构图 里面也包含了功能
- C#反射与特性(一):反射基础
目录 C#反射与特性(一):反射基础 1. 说明 1.1 关于反射.特性 2. 程序集操作 2.1 获取 程序集对象(Assembly) 2.2 Assembly 使用 2.3 获取程序集的方式 C# ...
- TCP/IP||Traceroute
1.概述 由Van jacobson编写的工具,用于探索tcp/ip协议,使用ICMP报文和首部TTL字段,TTL字段由发送端设置一个8bit字段,初始值为RFC指定,当前值为64, 每个处理数据的路 ...
- spring整合springMVC、mybatis、shiro
jar包: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding& ...
- $CF24D\ Broken Robot\ DP+$高斯消元
Luogu Description 你收到的礼物是一个非常聪明的机器人,行走在一块长方形的木板上.不幸的是,你知道它是坏的,表现得相当奇怪(随机).该板由n行和m列的单元格组成.机器人最初是在i行和j ...
- Java集合使用之next方法与remove方法 | Java集合使用之remove方法使用易错
Iterator接口的remove方法将会删除上次调用next方法时返回的元素. next方法和remove方法的调用具有相互依赖性,如果调用remove方法前没有调用next方法是不合法的. 错误使 ...
- linux installer os的驱动更新
installer os的驱动更新 linux系统可以简单的分为installer OS与运行时的OS,安装阶段识别不到硬件设备大概率因为installers OS版本较低,没有驱动来识别新的硬件,可 ...
- Spring的一些基本概念(面试备用哦)
1.什么是Spring, 它有什么特点? 包括哪些内容? Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. ◆ 轻量——从大小与开销两方面而言Spring都是轻量的.完整 ...