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的等级的打印函数也会执行。

测试代码: 

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 import logging
 5 
 6 # 设置logging.basicConfig()方法的参数
 7 FORMAT = '%(asctime)s [%(funcName)s: %(lineno)d]: %(message)s'
 8 LEVEL = logging.INFO
 9 FILENAME = "logfile.log"
10 FILEMODE = "w+"
11 DATEFMT = '%m/%d/%Y %I:%M:%S %p'
12 
13 # 配置logging.basicConfig函数
14 logging.basicConfig(filename=FILENAME, filemode=FILEMODE, datefmt=DATEFMT ,level = LEVEL, format=FORMAT)
15 
16 def display_func():
17     # 使用不同的打印等级函数进行打印
18     logging.debug('test debug')
19     logging.info('test info')
20     logging.warning('test warning')
21     logging.error('test error')
22 
23 if __name__ == '__main__':
24     display_func()

 测试结果:打印信息输出在logfile.log文件中,文件的内容如下:

   

 参考链接:

 https://docs.python.org/2/library/logging.html

posted @ 2019-12-30 16:06  zhengcixi  阅读(356)  评论(0编辑  收藏  举报
回到顶部