❶ 如何使用批处理执行python脚本,并把python脚本的控制台日志输出到一个log文件中
1, 用绝对路径试试:D:\logs\log.txt;
2, 最后的exit去掉试试,反正最后一行执行完也会自然退出。
3, 另写一个简单的python测试脚本,里面只有一行 print 'Hello World', 然后用上述批处理执行一下看看log对不对。
❷ python 读取日志文件
#-*-coding:utf-8-*-
withopen('log.txt','r')asf:
foriinf:
ifdt.strftime(dt.now(),'%Y-%m-%d')ini:
#判断是否当天时间
if'ERROR'iniand'atcom.mytijian'ini:
#判断此行中是否含有'ERROR'及'atcom.mytijian'
if((dt.now()-dt.strptime(i.split(',')[0],'%Y-%m-%d%H:%M:%S')).seconds)<45*60:
#判断时间是为当前45分钟内
printi
❸ python如何查看报错日志
test.py的39行,有个对象是个None?意思是你肯定有什么对象没有初始化就用了吧。
这个日志提示的信息意思最后一行NoneType,你还是查查你的test.py调用的方法是不是不对
你可以在IDLE下单步执行看看,环境变量是不是有些没有按照你想象的进行。
❹ linux python 日志在哪
现在有test.py程序要后台部署, 里面有输出内容
使用命令:
nohup python -u test.py > test.log 2>&1 &
最后的&表示后台运行
2 输出错误信息到提示符窗口
1 表示输出信息到提示符窗口, 1前面的&注意添加, 否则还会创建一个名为1的文件
最后会把日志文件输出到test.log文件
查看
tail -f test.log如果要实时查看日志文件使用命令
cat test.log查看全部输出使用命令
❺ python2.7怎么控制日志的大小
importglob该实例可实现循环打日志 ,第一个文件达到maxBytes大小后,就写入第二个文件。
importlogging
importlogging.handlers
LOG_FILENAME='logging_rotatingfile_example.out'
#
my_logger=logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)
#
handler=logging.handlers.RotatingFileHandler(LOG_FILENAME,
maxBytes=20,
backupCount=5,
)
my_logger.addHandler(handler)
#Logsomemessages
foriinrange(20):
my_logger.debug('i=%d'%i)
#Seewhatfilesarecreated
logfiles=glob.glob('%s*'%LOG_FILENAME)
forfilenameinlogfiles:
printfilename
❻ python中,如何添加一个日志点纪录执行到哪个类和方法求大神指点
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s:%(levelname)s:%(message)s',
filename=logging_file,
filemode='w',
)
format 配置如下类似的模版即可
%(pathname)s # 调用日志输出函数的模块的完整路径名,可能没有
%(filename)s # 调用日志输出函数的模块的文件名
%(mole)s # 调用日志输出函数的模块名
%(funcName)s # 调用日志输出函数的函数名
%(lineno)d # 调用日志输出函数的语句所在的代码行
❼ 如何把数据写入日志里(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'注册')
❽ python中怎么让日志文件数据变成列表
去读文件,一行一行加入[],就成列表了,然后可以针对列表进行处理。
具体是什么还需要你描述出来~
❾ 如何用python,每隔5分钟对实时日志做统计处理
不清楚你是不是用apache 举apache log+python
#!/usr/bin/envpython
fromthreadingimportTimer
importtime
timer_interval=3000
defreadlogs()
log="/var/log/httpd/access"
reader=open(log,'r')
contents=[]
forlineinreader.xreadlines():
p=re.compile('.*"GET(/seo/t.php?.*)HTTP/1.1".*',re.IGNORECASE)
m=p.match(line)
ifm:
res_file=m.group(1)
#printres_file
cs=urlparse.urlparse(res_file)
#cs_lem=len(cs)
#pprint.pprint(cs)
s_q=urlparse.parse_qs(cs.query,True)
ref=urlparse.urlparse(str(s_q['ref'][0]))
ref_wd=urlparse.parse_qs(ref.query,True)
printref_wd['wd'][0]
else:
contents.append(line)
reader.close()
returncontents
defparselog():
contents=readlogs()
foriincontents:
printi
t=Timer(timer_interval,parselog)
t.start()
whileTrue:
time.sleep(0.1)
print'mainrunning'
❿ python的日志,如何做到一天是单独一个日志,并且定期清理
创建以日期为文件的log文件(如:20140911.log),写日志前判断存放日志路径是否存在以当天日期为文件名的文件,如果存在添加日志信息,不存在就创建,在写日志信息。
定期清理亦可以按照此思路来做