[java-idp-log-analysis] 06/06: Add support for reading compressed log files

Ian Young ian at iay.org.uk
Mon Jan 23 11:33:06 EST 2017


This is an automated email from the git hooks/post-receive script.

iay pushed a commit to branch master
in repository java-idp-log-analysis.

View the commit online:
http://git.shibboleth.net/view/?p=java-idp-log-analysis.git;a=commit;h=20a0fa56439bc758f697938891b24bbc3152eaa3

commit 20a0fa56439bc758f697938891b24bbc3152eaa3
Author: Chad La Joie <clajoie at gmail.com>
AuthorDate: Thu Jul 21 11:05:25 2011 +0000

    Add support for reading compressed log files
---
 loganalysis.py | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/loganalysis.py b/loganalysis.py
index 80c8878..0f26922 100644
--- a/loganalysis.py
+++ b/loganalysis.py
@@ -16,23 +16,34 @@
 #
 
 """Parse Shibboleth 2.x Identity Provider audit logfile and generate simple stats.
-   Audit log file format: https://spaces.internet2.edu/display/SHIB2/IdPLogging"""
+   Audit log file format: https://wiki.shibboleth.net/confluence/display/SHIB2/IdPLogging"""
    
-import sys,fileinput
+import sys
+import fileinput
+import os
 from optparse import OptionParser
 from operator import itemgetter
 
 def parseFiles(files,options):
     """Build datastructures from lines."""
     lines = []
-    for line in fileinput.input(files):
-        lines.append(line.rstrip().split("|"))
+    if sys.version_info < (2, 5):
+        for line in fileinput.input(files):
+            lines.append(line.rstrip().split("|"))
+    else:
+        for line in fileinput.input(files, openhook=fileinput.hook_compressed):
+            lines.append(line.rstrip().split("|"))
 
     db = {}
     db['rp'], db['users'], db['msgprof'], db['logins'] = {},{},{},0
 
     for event in lines:
-        datetime,reqBind,reqId,rp,msgProfile,idp,respBind,respId,user,authnMeth,relAttribs,nameId,assertIds,EOL = event
+        try:
+            datetime,reqBind,reqId,rp,msgProfile,idp,respBind,respId,user,authnMeth,relAttribs,nameId,assertIds,EOL = event
+        except ValueError:
+            print """ERROR: Unsupported log file format or using compressed log files with Python < 2.5.%sSee the documentation in the Shibboleth wiki.""" % os.linesep
+            sys.exit(-1)
+            
         if msgProfile.lower().endswith(":sso"):
             db['logins'] += 1
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list