当前位置:首页 » 编程语言 » python输出日志

python输出日志

发布时间: 2022-04-23 22:53:07

① 我如何着色python日志输出

终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。控制字符颜色的转义序列是以ESC开头,即用\033来完成 !

② python写日志需要输出什么信息

记录某个时间点发生了什么事情,错误信息、警告信息、提示信息、调试信息等

③ python打印日志,extra是什么意思

extra是用户自定义的dict. 这些key/value在格式化的时候可以直接引用。

extra可以用来传递额外的日志信息,尤其是上下文信息。


例如:

FORMAT='%(asctime)-15s%(clientip)s%(user)-8s%(message)s'
logging.basicConfig(format=FORMAT)
d={'clientip':'192.168.0.1','user':'fbloggs'}
logger=logging.getLogger('tcpserver')
logger.warning('Protocolproblem:%s','connectionreset',extra=d)

这里除了protocol错误描述外,还附加了客户IP和用户名信息。

如果配置了一些非文本格式的handler,结构化的数据会更容易存储和查询。

例如,Sentry的logging handler允许用户用extra.data来传递任意信息,并自动记录到web界面。

logger.error('Therewassomecrazyerror',exc_info=True,extra={
'culprit':'my.view.name',
'fingerprint':[...],

'data':{
#
'username':request.user.username,
}
})

④ 请教python 如何分日志级别分文件输出

利用sys.stdout将print行导向到你定义的日志文件中,例如:
import sys
# make a of original stdout route
stdout_backup = sys.stdout
# define the log file that receives your log info
log_file = open("message.log", "w")
# redirect print output to log file
sys.stdout = log_file
print "Now all print info will be written to message.log"
# any command line that you will execute
log_file.close()
# restore the output to initial pattern
sys.stdout = stdout_backup
print "Now this will be presented on screen"

⑤ python怎么实现远程动态输出日志

#!/usr/bin/python
#encoding=utf-8
#Filename:monitorLog.py
importos
importsignal
importsubprocess
importtime


logFile1="test1.log"
logFile2='test2.log'

#日志文件一般是按天产生,则通过在程序中判断文件的产生日期与当前时间,更换监控的日志文件
#程序只是简单的示例一下,监控test1.log10秒,转向监控test2.log
defmonitorLog(logFile):
print'监控的日志文件是%s'%logFile
#程序运行10秒,监控另一个日志
stoptime=time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time()+10))
popen=subprocess.Popen('tail-f'+logFile,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)
pid=popen.pid
print('Popen.pid:'+str(pid))
whileTrue:
line=popen.stdout.readline().strip()
#判断内容是否为空
ifline:
print(line)
#当前时间
thistime=time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time()))
ifthistime>=stoptime:
#终止子进程
popen.kill()
print'杀死subprocess'
break
time.sleep(2)
monitorLog(logFile2)

if__name__=='__main__':
monitorLog(logFile1)

⑥ python logging日志打印疑问

用法错误了,正确的用法是
import logging

logger = logging.getLogger( )
handler = logging.FileHandler( 'log.log' )
handler.setFormatter( logging.Formatter( '%(asctime)s %(levelname)s %(message)s' ) )
logger.addHandler( handler )
logger.setLevel( logging.DEBUG )

if __name__ == '__main__':
for data in [ '1' ,'2' ,'3' ]:
logger.debug( data )

你上面的输出并不是logging的输出,而是显式调用writeLog的输出,而且每调用一次writeLog,就在writeLog里调用一次addHandler增加一个handle,那么下次调用时又会多调用一次,这就是为什么1输出了一次,2输出了两次.......

⑦ 如何使用批处理执行python脚本,并把python脚本的控制台日志输出到一个log文件中

1, 用绝对路径试试:D:\logs\log.txt;
2, 最后的exit去掉试试,反正最后一行执行完也会自然退出。
3, 另写一个简单的python测试脚本,里面只有一行 print 'Hello World', 然后用上述批处理执行一下看看log对不对。

⑧ 操作数据库的时候怎么生成日志文件 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函数调用详细日志

1, 用绝对路径试试:D:\logs\log.txt; 2, 最后的exit去掉试试,反正最后一行执行完也会自然退

热点内容
我配置很高了ae为什么卡 发布:2025-05-17 14:54:50 浏览:167
python数据分析实战pdf 发布:2025-05-17 14:49:42 浏览:950
海澜之家广告脚本 发布:2025-05-17 13:56:06 浏览:30
手文件夹恢复 发布:2025-05-17 13:53:32 浏览:993
linux怎么看进程 发布:2025-05-17 13:53:30 浏览:303
thinkphp字段缓存 发布:2025-05-17 13:52:01 浏览:575
山灵app安卓版如何设置 发布:2025-05-17 13:51:49 浏览:388
帆布压缩袋 发布:2025-05-17 13:26:27 浏览:457
c语言16进制表示方法 发布:2025-05-17 13:11:25 浏览:480
ftp单位 发布:2025-05-17 13:10:03 浏览:142