Wait for bloom
时光不语,静待花开

log级别:debug(), info(), warning(), error() and critical() 5个级别,最低为debug,最高位critical

log标准输出格式:

%(name)s

Logger的名字

%(levelno)s

数字形式的日志级别

%(levelname)s

文本形式的日志级别

%(pathname)s

调用日志输出函数的模块的完整路径名,可能没有

%(filename)s

调用日志输出函数的模块的文件名

%(module)s

调用日志输出函数的模块名

%(funcName)s

调用日志输出函数的函数名

%(lineno)d

调用日志输出函数的语句所在的代码行

%(created)f

当前时间,用UNIX标准的表示时间的浮 点数表示

%(relativeCreated)d

输出日志信息时的,自Logger创建以 来的毫秒数

%(asctime)s

字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

%(thread)d

线程ID。可能没有

%(threadName)s

线程名。可能没有

%(process)d

进程ID。可能没有

%(message)s

用户输出的消息

1.屏幕输出

1 #!/usr/bin/python
2 import logging
3 #屏幕输出
4 logging.debug('调试测试异常')
5 logging.info('正常')
6 logging.warning('警告')
7 logging.error('错误')
8 logging.critical('严重')
View Code

2.屏幕格式化输出

需要先设置格式; logging.basicConfig(filename='log_test.log',encoding='utf-8',format='%(asctime)s-%(lineno)s-%(levelname)s-%(message)s',level=logging.INFO)

 1 #!/usr/bin/python
 2 import logging
 3 # print(dir(logging))
 4 #debug(), info(), warning(), error() and critical() 5个级别
 5 #屏幕输出
 6 logging.basicConfig(format='%(asctime)s-%(lineno)s-%(levelname)s-%(message)s',level=logging.INFO)
 7 logging.debug('调试测试异常')
 8 logging.info('正常')
 9 logging.warning('警告')
10 logging.error('错误')
11 logging.critical('严重')
View Code

3.打印到文件

1 #!/usr/bin/python
2 import logging
3 # #把日志写到文件里面
4 logging.basicConfig(filename='log_test.log',encoding='utf-8',format='%(asctime)s-%(lineno)s-%(levelname)s-%(message)s',level=logging.INFO)
5 logging.debug('调试测试异常')
6 logging.info('正常')
7 logging.warning('警告')
8 logging.error('错误')
9 logging.critical('严重')
View Code

4.同时打印到屏幕和文件

需要加入logger和handler

常用handler:

1) logging.StreamHandler
使用这个Handler可以向类似与sys.stdout或者sys.stderr的任何文件对象(file object)输出信息。

2) logging.FileHandler
用于向一个文件输出日志信息

3) logging.handlers.RotatingFileHandler
但是它可以管理文件大小。当文件达到一定大小之后,它会自动将当前日志文件改名,然后创建 一个新的同名日志文件继续输出。

4) logging.handlers.TimedRotatingFileHandler
通过间隔时间 自动创建新的日志文件。

 1 #!/usr/bin/python
 2 import logging
 3 #创建logger
 4 logger=logging.getLogger('TEST-LOG')
 5 logger.setLevel(logging.INFO)
 6 #创建handler
 7 # #打印到屏幕
 8 cs=logging.StreamHandler() 
 9 cs.setLevel(logging.INFO)
10 #打印到文件
11 cf=logging.FileHandler(filename='log_test.log',encoding='utf-8') 
12 cf.setLevel(logging.INFO)
13 #设置标准格式
14 fomat_test=logging.Formatter('%(asctime)s-%(levelname)s-%(message)s')
15 cs.setFormatter(fomat_test)
16 cf.setFormatter(fomat_test)
17 logger.addHandler(cs)
18 logger.addHandler(cf)
19 
20 logger.debug('ts')
21 logger.info('ts')
22 logger.warning('警告')
23 logger.error('错误')
24 logger.critical('严重')
View Code
posted on 2024-01-30 17:14  Little-Girl  阅读(103)  评论(0)    收藏  举报