]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
update
authorAnthony Minessale <anthony.minessale@gmail.com>
Mon, 21 Apr 2008 23:45:47 +0000 (23:45 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Mon, 21 Apr 2008 23:45:47 +0000 (23:45 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8158 d0543943-73ff-0310-b7d9-9358b9ac24b2

scripts/extract_log_range.pl [new file with mode: 0644]

diff --git a/scripts/extract_log_range.pl b/scripts/extract_log_range.pl
new file mode 100644 (file)
index 0000000..a3dd575
--- /dev/null
@@ -0,0 +1,43 @@
+#!/usr/bin/perl
+use Time::Local;
+
+my $file = shift;
+my $start = shift;
+my $stop = shift;
+
+
+sub parse_date($) {
+  my $str = shift;
+
+  if (my ($yr, $mo, $day, $hr, $min, $sec) = $str =~ /(\d{4})\-(\d{2})\-(\d{2}) (\d{2})\:(\d{2})\:(\d{2})/) {
+    return timelocal($sec, $min, $hr, $day - 1, $mo - 1, $yr);
+  } else {
+    die $str;
+  }
+}
+
+if ($start =~ /\:/) {
+  $start = parse_date($start);
+}
+
+if ($stop =~ /\:/) {
+  $stop = parse_date($stop);
+} elsif ($stop =~ /^\+(\d+)/) {
+  $stop = $start + $1;
+}
+
+open(I, $file);
+              
+while (<I>) {
+  my $str = $_;
+  $epoch = parse_date($str);
+  
+  if ($epoch > $start) {
+    if ($stop && $epoch > $stop) {
+      last;
+    }
+    print;
+  }
+}
+
+close(I);