tomcat_log_parser 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +8 -0
  3. data/lib/tomcat_log_parser.rb +85 -0
  4. metadata +45 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0762cd3e8fcffff6f20b2bd2556279ac0475c3f4
4
+ data.tar.gz: 2d9f8def6f81e9e8e1139bb9da68ee221fcf5b34
5
+ SHA512:
6
+ metadata.gz: c92b4a3c72c0e6466d68ba990d4c88cc2ad4f8fd1223dff99586fc3be4dbab465165bb3eeabf40d3c604376f6316f9274a971da63ab4aba4a878c500b09bcd91
7
+ data.tar.gz: ee9718f014ac306984dcb4a88ba0d0d282e77f9e7c4cee538322273abdf1af9776bf92d6350bf567d4678ad484c7a0e3ef651d245015dc21bbebfaae0d4b4e72
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << 'test'
5
+ end
6
+
7
+ desc "Run tests"
8
+ task :default => :test
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+
5
+ class Tomcat_log_parser
6
+ attr_reader :catalinalogarray , :finalcatalinalogarray, :accesslogarray, :filelocation
7
+
8
+ def initialize (filelocation)
9
+ @filelocation = filelocation
10
+ @catalinalogarray = Array.new
11
+ @finalcatalinalogarray = Array.new
12
+ @accesslogarray = Array.new
13
+ end
14
+
15
+ private
16
+
17
+ def splitCatalinaout
18
+ #initLogVariables
19
+ temHash = Hash.new
20
+ temHash['firstline'] = ''
21
+ temHash['secondline'] = ''
22
+
23
+ File.open(@filelocation) do |file|
24
+ file.each do |line|
25
+ logtime = /^(\AJan|\AFeb|\AMar|\AApr|\AMay|\AJun|\AJul|\AAug|\ASep|\AOct|\ANov|\ADec) [0-9]{1,2}, 20[0-9]{2} [0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2} (PM|AM)/.match("#{line}")
26
+
27
+ if logtime
28
+ temHash = Hash.new
29
+ temHash['firstline'] = line
30
+ @catalinalogarray.push(temHash)
31
+ temHash['secondline'] = ''
32
+ else
33
+ temHash['secondline'] = temHash['secondline'] + line
34
+ end
35
+ end
36
+ end
37
+
38
+ return @catalinalogarray
39
+ rescue Exception
40
+ on_exception
41
+ end
42
+
43
+ public
44
+
45
+ def parseCatalineout
46
+ #print 'process file ...'
47
+ @la = splitCatalinaout
48
+ @la.each do |log|
49
+ temHash = Hash.new
50
+ temp = log['firstline'].split(' ').last(2)
51
+ temHash['logclass'] = temp[0]
52
+ temHash['logaction'] = temp[1]
53
+ temHash['logtime'] = /^(\AJan|\AFeb|\AMar|\AApr|\AMay|\AJun|\AJul|\AAug|\ASep|\AOct|\ANov|\ADec) [0-9]{1,2}, 20[0-9]{2} [0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2} (PM|AM)/.match("#{log['firstline']}")
54
+ temHash['logseverity'] = log['secondline'].split(':').first
55
+ temHash['logdetails'] = log['secondline']
56
+ @finalcatalinalogarray.push(temHash)
57
+ end
58
+
59
+ return @finalcatalinalogarray
60
+ rescue Exception
61
+ on_exception
62
+ end
63
+
64
+ def parseAccesslog
65
+ File.open(@filelocation) do |file|
66
+ file.each do |line|
67
+ temHash = Hash.new
68
+ temHash['ipaddress'] = /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/.match("#{line}")
69
+ temHash['time'] = /\[.*\]/.match("#{line}").to_s.gsub(/\[|\]/,'')
70
+ temHash['url'] = /\".*\"/.match("#{line}").to_s.gsub(/\"/,'') #.sub('"','')
71
+ temHash['code'] = line.split(' ')[-3]
72
+ temHash['size'] = line.split(' ')[-2]
73
+ temHash['responsetime'] = line.split(' ')[-1]
74
+
75
+ @accesslogarray.push(temHash)
76
+ end
77
+ end
78
+
79
+ return @accesslogarray
80
+ rescue Exception
81
+ on_exception
82
+ end
83
+
84
+ end
85
+
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tomcat_log_parser
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Chang Dong
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-05-19 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Parser for Tomcat catalina.out and access log
14
+ email: gdsdong@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - Rakefile
20
+ - lib/tomcat_log_parser.rb
21
+ homepage: http://3wtemplates.com/
22
+ licenses:
23
+ - Apache 2.0
24
+ metadata: {}
25
+ post_install_message:
26
+ rdoc_options: []
27
+ require_paths:
28
+ - lib
29
+ required_ruby_version: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubyforge_project:
41
+ rubygems_version: 2.2.2
42
+ signing_key:
43
+ specification_version: 3
44
+ summary: Tomcat Parser
45
+ test_files: []