在很多编程语言中,都会出现日志处理操作,python也不例外...
模块主要是处理日志的。
所谓日志,可理解为在软件运行过程中,所记录的的一些运行情况信息
软件开发人员可以根据自己的需求添加日志,日志可以帮助软件开发人员
了解软件的运行信息,对软件的维护尤为重要。
日志级别:
Level When it's used
DEBUG detailed <a href="https://www.jb51.cc/tag/informat/" target="_blank" class="keywords">informat</a>ion,typically of interest only when diagnosing problems
INFO confirmation that things are working as expected
WARNING An indication that something unexpected happended,or indicative of some problem in the near future.The software is still working as expected
ERROR Due to a more ser<a href="https://www.jb51.cc/tag/IoU/" target="_blank" class="keywords">IoU</a>s problem,the software has not been able to perform some funciton
CRITICAL A ser<a href="https://www.jb51.cc/tag/IoU/" target="_blank" class="keywords">IoU</a>s error,indication that the program itself may be unable to continue running.
The default level is WARNING.
Here is an Example:
import logging
logging.info('this is an info log!')
logging.warning('this is a warn log!')
you can see the result:
WARNING:root:this is a warn log!
如果你想看到级别比较低的一些日志,你可以这样做:
Here is an Example:
import logging
logging.basicCon<a href="https://www.jb51.cc/tag/fig/" target="_blank" class="keywords">fig</a>(filename = 'c:\\test\\hongten.log',level = logging.DEBUG)
logging.debug('this is a debug log!')
logging.info('this is an info log!')
logging.warning('this is a warn log!')
you can see the result:
DEBUG:root:this is a debug log!
INFO:root:this is an info log!
WARNING:root:this is a warn log!
如果你想格式化<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>日志,你可以这样做:
Here is an Example:
import logging
logging.basicCon<a href="https://www.jb51.cc/tag/fig/" target="_blank" class="keywords">fig</a>(format = '%(levelname)s:%(message)s',level = logging.DEBUG)
logging.debug('this is a debug log!')
logging.info('this is an info log!')
logging.warning('this is a warn log!')
you can see the result:
DEBUG:this is a debug log!
INFO:this is an info log!
WARNING:this is a warn log!
下面是LogRecord attributes,在格式化<a href="https://www.jb51.cc/tag/shuchu/" target="_blank" class="keywords">输出</a>日志的时候需要用到:
Attribute name Format Description
args You shouldn’t need to format The tuple of arguments merged into msg to produce message.
this yourself.
asctime %(asctime)s 时间格式
created %(created)s 创建时间
filename %(filename)s <a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a><a href="https://www.jb51.cc/tag/mingcheng/" target="_blank" class="keywords">名称</a>
levelname %(levelname)s 日志级别
levelno %(levelno)s 日志id号
lineno %(lineno)s 行号
module %(module)s 模块<a href="https://www.jb51.cc/tag/mingcheng/" target="_blank" class="keywords">名称</a>
mescs %(mescs)s Millisecond portion of the time when the LogRecord was created.
message %(message)s 日志信息
name %(name)s 日志<a href="https://www.jb51.cc/tag/mingcheng/" target="_blank" class="keywords">名称</a>
pathname %(pathname)s <a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a><a href="https://www.jb51.cc/tag/jueduilujing/" target="_blank" class="keywords">绝对路径</a>
process %(process)s 进程id
processName %(processName)s 进程<a href="https://www.jb51.cc/tag/mingcheng/" target="_blank" class="keywords">名称</a>
relativeCreated %(relativeCreated)s Time in milliseconds when the LogRecord was created,relative to the time the logging module was loaded.
thread %(thread)s 线程id
threadName %(threadName)s 线程<a href="https://www.jb51.cc/tag/mingcheng/" target="_blank" class="keywords">名称</a>
<span style="color: #800000;">'''
以下是我做的demo:
效果:
Python 3.3.2 (v3.3.2:d047928ae3f6,May 16 2013,00:03:43) [MSC v.1600 32copyright, information.
>>> ================================ RESTART ================================
>>>
2013-08-26 11:01:58,076 - root - DEBUG - this 2013-08-26 11:01:58,080 - root - INFO - this 2013-08-26 11:01:58,085 - root - WARNING - this 2013-08-26 11:01:58,088 - root - ERROR - this 2013-08-26 11:01:58,091 - root - CRITICAL - this >>>
代码部分:
fig
添加日志,日志可以帮助软件开发人员
information,typically of interest only when diagnosing problems
IoUs problem,the software has not been able to perform some funciton
IoUs error,indication that the program itself may be unable to continue running.
fig(filename = 'c:\\test\\hongten.log',level = logging.DEBUG)
输出日志,你可以这样做:
fig(format = '%(levelname)s:%(message)s',level = logging.DEBUG)
输出日志的时候需要用到:
文件名称
名称
名称
文件绝对路径
名称
名称
默认级别是:WARNING
输出:this is a warn log!
logging.warning( logging.info(
文件中
logging.basicConfig(filename = path,level = logging.debug( logging.info( logging.warning(
logging.warning(%s + %s = %s,3,4,3+4
logging.basicConfig(format=,level= logging.debug( logging.info( logging.warning(
fig():
配置文件信息如下: