我是python的新手。
我正在编写一个监视jstat(Java虚拟机统计监视工具)的python代码。这是一个监视Java堆使用情况的命令行实用程序。我的python代码每15秒监视一次,并将其重定向到一个文件。
我希望在达到一定大小后旋转文件。我确实为python阅读了旋转日志记录模块,但由于必须设置一些级别,因此有点令人困惑。例如: level.debug()将在文件中打印一些内容。
我不想打印任何东西。我只是想旋转文件。
请尽可能帮助我。谢谢
这是我的代码:
#!/usr/bin/python
import sys
import commands
import os
import time
import subprocess
import glob
import logging
import logging.handlers
def A():
e1 = subprocess.Popen(['jps'], stdout=subprocess.PIPE)
e2 = subprocess.Popen(['grep', 'Bootstrap'],
stdin=e1.stdout, stdout=subprocess.PIPE)
e1.stdout.close()
CMD= ["awk", r'{OFS="\t"; print $1}']
e3 = subprocess.Popen(CMD,
stdin=e2.stdout, stdout=subprocess.PIPE)
e2.stdout.close()
val = e3.communicate()
modify= val[0].split('\n')
id= "".join(modify)
command= os.system('jstat -gc -h10 %s 15s > /tmp/javastat.log' % id)
def main():
p1 = subprocess.Popen(['env'], stdout=subprocess.PIPE)
p2 = subprocess.Popen(['grep', 'APP_NAME'],
stdin=p1.stdout, stdout=subprocess.PIPE)
p1.stdout.close()
output = p2.communicate()
cut= output[0].split('\n')
name= "".join(cut)
#print name
if ( name == 'APP_NAME=A'):
# print "match found"
A()
if __name__ == '__main__':
main()