python 日志不会按照日期分割,在python中按日期范围过滤日志的最佳方法

What's the best way to print log lines that match a datetime range.

For example:

I would like to print only lines with dates

from: 2012/09/30-00:00:10

to: 2012/09/30-00:00:13

2012/09/30-00:00:08.773 log error

2012/09/30-00:00:09.034 log warning

2012/09/30-00:00:09.352 log info

2012/09/30-00:00:10.526 log info

2012/09/30-00:00:10.995 log warning

2012/09/30-00:00:12.014 log warning

2012/09/30-00:00:18.035 log error

2012/09/30-00:00:21.733 log fatal

2012/09/30-00:00:21.981 log info

It should print:

2012/09/30-00:00:10.526 log line

2012/09/30-00:00:10.995 log line

2012/09/30-00:00:12.014 log line

I would like to do this in a cost-effective way, as I'm using production servers. Python only please.

Thanks!

解决方案

Actullay, the log format allows to compare date strings without their conversion to datetime.

with open('mylog.log','r') as f:

for line in f:

d = line.split(" ",1)[0]

if d >= '2012/09/30-00:00:10' and d <= '2012/09/30-00:00:13':

print line

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值