python写日志
Ⅰ python,由于执行脚本要写日志,我需要获取Linux服务器的磁盘利用率等,how
importos
defgetLinuxDiskInfo(path):
ifos.path.exists(path):
vfs=os.statvfs(path)
available=vfs[statvfs.F_BAVAIL]*vfs[statvfs.F_BSIZE]/1024
capacity=vfs[statvfs.F_BLOCKS]*vfs[statvfs.F_BSIZE]/1024
used=capacity-available
returnavailable,used,capacity
returnNone,None,None
Ⅱ python用logging模块写日志文件无输出
来个简单点的
#-*-coding:utf-8-*-
importlogging
__author__='lpe234'
__date__='2015-04-30'
LOGGING_FILE='xx.log'
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s%(filename)s[line:%(lineno)d]%(levelname)s%(message)s',
filename=LOGGING_FILE,
filemode='a+'
)
logging.debug('debug')
logging.info('info')
logging.exception('exception')
logging.error('error')
logging.critical('critical')
Ⅲ python写日志需要输出什么信息
记录某个时间点发生了什么事情,错误信息、警告信息、提示信息、调试信息等
Ⅳ 如何用python写监控日志函数
def write_log(username,operation): ''' 写日志函数 :param username:用户名 :param operation:用户的操作信息 :return: ''' w_time = time.strftime('%Y-%m-%d %H%M%S') with open('log.txt','a+') as fw: log_content = '%s %s %s \n'%(w_tim...
Ⅳ 如何把数据写入日志里(python)
#coding=utf-8
def
initlog():
import
logging
#
生成一个日志对象
logger
=
logging.getLogger()
#
生成一个Handler。logging支持许多Handler,
#
象FileHandler,
SocketHandler,
SMTPHandler等,我由于要写
#
文件就使用了FileHandler。
#
logfile是一个全局变量,它就是一个文件名,如:'crawl.log'
logfile
=
'test.log'
hdlr
=
logging.FileHandler(logfile)
#
成一个格式器,用于规范日志的输出格式。如果没有这行代码,那么缺省的
#
格式就是:"%(message)s"。也就是写日志时,信息是什么日志中就是什么,
#
没有日期,没有信息级别等信息。logging支持许多种替换值,详细请看
#
Formatter的文档说明。这里有三项:时间,信息级别,日志信息
formatter
=
logging.Formatter('%(asctime)s
%(levelname)s
%(message)s')
#
将格式器设置到处理器上
hdlr.setFormatter(formatter)
#
将处理器加到日志对象上
logger.addHandler(hdlr)
#
设置日志信息输出的级别。logging提供多种级别的日志信息,如:NOTSET,
#
DEBUG,
INFO,
WARNING,
ERROR,
CRITICAL等。每个级别都对应一个数值。
#
如果不执行此句,缺省为30(WARNING)。可以执行:logging.getLevelName
#
(logger.getEffectiveLevel())来查看缺省的日志级别。日志对象对于不同
#
的级别信息提供不同的函数进行输出,如:info(),
error(),
debug()等。当
#
写入日志时,小于指定级别的信息将被忽略。因此为了输出想要的日志级别一定
#
要设置好此参数。这里我设为NOTSET(值为0),也就是想输出所有信息
logger.setLevel(logging.NOTSET)
return
logger
logging=initlog()
logging.info(u'注册')
Ⅵ 操作数据库的时候怎么生成日志文件 python3
日志可以用来记录应用程序的状态、错误和信息消息,也经常作为调试程序的工具。它的重要性就不多说了,直接进入正题。
python提供了一个标准的日志接口,就是logging模块。日志级别有DEBUG、INFO、WARNING、ERROR、CRITICAL五种。
首先来看logging简单的使用方法。
这一看到此图中使用了debug()、info()、warning()、error()、critical()五个方法,这五个方法分别用来记录DEBUG、INFO、WARNING、ERROR、CRITICAL级别的日志。但是你会发现debug()和info()方法没有显示任何信息,这是因为默认的日志级别是ERROR ,所以低于此级别的日志不会记录。你还可能会疑惑输出来的日志怎么这样子?别急,往下看,慢慢来解释。
下面我们来看怎么修改一下日志级别。
如图上所示,可以使用basicConfig()方法,修改日志级别,logging.DEBUG,logging.INFO,logging.WARNING,logging.ERROR,logging.CRITICAL分别代表着那五中日志级别。可以看到图中日志级别设为INFO,那么INFO级别以上的日志都会被记录。
下面再看下怎么修改日志的输出格式。
查看下执行结果:
这个示例内容可能有点多了,没关系,我们一点一点来。
首先程序中:
log_format = '%(filename)s [%(asctime)s] [%(levelname)s] %(message)s'
#这条是定义日志格式的一个变量。显示的条目可以是以下内容:
%(levelname):日志级别的名字格式
%(levelno)s:日志级别的数字表示
%(name)s:日志名字
%(funcName)s:函数名字
%(asctime):日志时间,可以使用datefmt去定义时间格式,如上图。
%(pathname):脚本的绝对路径
%(filename):脚本的名字
%(mole):模块的名字
%(thread):thread id
%(threadName):线程的名字
logging.basicConfig(format=log_format,datefmt='%Y-%m-%d %H:%M:%S %p',level=logging.DEBUG) #设置日志输出格式和级别。
上面的示例都是将日志输出到屏幕上,能不能写到一个日志文件中呢?答案当然是肯定的,来看:
看下执行结果:
看了吧,日志的设置都是使用basicConfig()方法,需要注意的是,日志写入文件的默认方式是‘a’,也就是追加,如果想覆盖文件,则使用如上图那样,使用filemode='w'。
以上是logging模块最常用的了,基本上就够用了。但是如果你觉得这些还不够的话,看我下一篇博客。会讲Logger、Handler、Formatter对象,logging模块更高级的用法用法。
Ⅶ Python记录详细调用堆栈日志的方法
Python记录详细调用堆栈日志的方法
这篇文章主要介绍了Python记录详细调用堆栈日志的方法,涉及Python调用堆栈日志的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
import sys
import os
def detailtrace(info):
retStr = ""
curindex=0
f = sys._getframe()
f = f.f_back # first frame is detailtrace, ignore it
while hasattr(f, "f_code"):
co = f.f_code
retStr = "%s(%s:%s)->"%(os.path.basename(co.co_filename),
co.co_name,
f.f_lineno) + retStr
f = f.f_back
print retStr+info
def foo():
detailtrace("hello world")
def bar():
foo()
def main():
bar()
if __name__ == "__main__":
main()
输出:
aaa1.py(<mole>:27)->aaa1.py(main:24)->aaa1.py(bar:21)->aaa1.py(foo:18)->hello world
希望本文所述对大家的Python程序设计有所帮助。
Ⅷ 怎么用Python + Flask框架实现Web应用实现日志记录功能
Flask自带logger功能:app.logger.debug(....),logger是是标准日志类 Logger。在route中写相应的日志即可。
通过配置,将相应的日志文件定位到服务可访问的位置,然后,定义一个新的路由,显示这个日志:读取它,配合模板引擎显示它。
Ⅸ python的日志,如何做到一天是单独一个日志,并且定期清理
创建以日期为文件的log文件(如:20140911.log),写日志前判断存放日志路径是否存在以当天日期为文件名的文件,如果存在添加日志信息,不存在就创建,在写日志信息。
定期清理亦可以按照此思路来做
Ⅹ python log日志怎么写 案例
python中,logging模块主要是处理日志的。
所谓日志,可理解为在软件运行过程中,所记录的的一些运行情况信息
软件开发人员可以根据自己的需求添加日志,日志可以帮助软件开发人员
了解软件的运行信息,对软件的维护尤为重要。