Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #37528

Re: Search log for string and display hourly/daily report

Newsgroups comp.lang.python
Date 2013-01-23 16:57 -0800
References <4f952e77-258d-47ae-9d76-a86daa8acaa2@googlegroups.com> <kdpkh7$pfu$1@reader1.panix.com>
Message-ID <2fc8e789-2c0b-4f4f-bb1e-e0381398583b@googlegroups.com> (permalink)
Subject Re: Search log for string and display hourly/daily report
From spek06@gmail.com

Show all headers | View raw


On Wednesday, January 23, 2013 4:25:59 PM UTC-5, John Gordon wrote:
> In <4f952e77-258d-47ae-9d76-a86daa8acaa2@googlegroups.com> spek06 writes:
> 
> 
> 
> > I need to search a log file for a specific string (Successfully Sent) and
> 
> > report the number of instances in the last hour (from when executed) and
> 
> > total for the day so far (midnight till the time executed). Can anyone
> 
> > provide any examples of such a program or get me started?
> 
> 
> 
> from datetime import datetime, timedelta
> 
> from time import mktime, strptime
> 
> 
> 
> now = datetime.now()
> 
> midnight = now.replace(hour=0, minute=0, second=0, microsecond=0)
> 
> one_hour_ago = now - timedelta(hours=1)
> 
> 
> 
> daily_instances = 0
> 
> hourly_instances = 0
> 
> 
> 
> with open('myfile.log') as logfile:
> 
>     for line in logfile:
> 
>         if 'Successfully Sent' in line:
> 
>             time_string = line[0:19]
> 
>             struct = strptime(time_string, "%Y-%m-%dT%H:%M:%S")
> 
>             log_time = datetime.fromtimestamp(mktime(struct))
> 
> 
> 
>             if log_time > midnight:
> 
>                 daily_instances += 1
> 
> 
> 
>             if log_time > one_hour_ago:
> 
>                 hourly_instances += 1
> 
> 
> 
> print "Instances in the last hour: ", hourly_instances
> 
> print "Instances since midnight: ", daily_instances
> 
> 
> 
> 
> 
> This code assumes that log lines begin with a timestamp similar to
> 
> "2013-01-23T09:27:01".  If the timestamp is in a different format, or
> 
> occurs elsewhere in the line, you'll have to adjust for that.
> 
> 
> 
> -- 
> 
> John Gordon                   A is for Amy, who fell down the stairs
> 
>              B is for Basil, assaulted by bears
> 
>                                 -- Edward Gorey, "The Gashlycrumb Tinies"

Thanks John, I think this will definitely help get me started!

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Search log for string and display hourly/daily report spek06@gmail.com - 2013-01-23 11:05 -0800
  Re: Search log for string and display hourly/daily report Tim Chase <python.list@tim.thechases.com> - 2013-01-23 14:08 -0600
  Re: Search log for string and display hourly/daily report John Gordon <gordon@panix.com> - 2013-01-23 21:25 +0000
    Re: Search log for string and display hourly/daily report spek06@gmail.com - 2013-01-23 16:57 -0800
  Re: Search log for string and display hourly/daily report Michael Torrie <torriem@gmail.com> - 2013-01-23 15:12 -0700

csiph-web