httpd_log_parser 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 11ce3801979dd626841b135990505a1b23dfa035
4
- data.tar.gz: f2dcb4f3d48a43dc83e9fddc2807c051d6a6ed68
3
+ metadata.gz: fc88575c2ff0173d9e64cbb0ed1a91fc982d398f
4
+ data.tar.gz: 95dbdb562c486a37410fa793b90f881cc44d335a
5
5
  SHA512:
6
- metadata.gz: 269b6f5cab0350fbbba8dc92494472759824db58038f58a9adca75ac839e91b29f1c419770d78fafe29789975abd2757c3e0d26d17e6fcfc4698dd1c00065405
7
- data.tar.gz: 9265c3179d6d00d54973fc1b4ad3045441321c68e963e800747f6f0ca0e52dfe1331df364476c7ac6b54568b94e5c7c468dc9a918b7a7b7ff9e91dfee119d5fc
6
+ metadata.gz: 354237063d6066599e2fbb17f4d62ec6a5497e052d00086c58ae874bac23eb90e86b01cb88d6d2cab9a162b8933d4ce03d914dab31170367c5c0bd3cca06ee2a
7
+ data.tar.gz: 6c38bd911cf1b68bb3fd4fa6a505cc39a21865612d8adcf6078fd4cbcd2a16fbe955eb2d1d5936fa30558b98162cccac3c4bb7fc5e7c2e5e509e9a20224692ac
data/Guardfile ADDED
@@ -0,0 +1,38 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ ## Uncomment and set this to only include directories you want to watch
5
+ # directories %w(app lib config test spec features) \
6
+ # .select{|d| Dir.exists?(d) ? d : UI.warning("Directory #{d} does not exist")}
7
+
8
+ ## Note: if you are using the `directories` clause above and you are not
9
+ ## watching the project directory ('.'), then you will want to move
10
+ ## the Guardfile to a watched dir and symlink it back, e.g.
11
+ #
12
+ # $ mkdir config
13
+ # $ mv Guardfile config/
14
+ # $ ln -s config/Guardfile .
15
+ #
16
+ # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
17
+
18
+ guard :test do
19
+ watch(%r{^test/.+_test\.rb$})
20
+ watch(%r{^test/test_.+\.rb$}) {'test' }
21
+
22
+ # Non-rails
23
+ watch(%r{^lib/(.+)\.rb$}) { |m| "test/#{m[1]}_test.rb" }
24
+
25
+ # Rails 4
26
+ # watch(%r{^app/(.+)\.rb}) { |m| "test/#{m[1]}_test.rb" }
27
+ # watch(%r{^app/controllers/application_controller\.rb}) { 'test/controllers' }
28
+ # watch(%r{^app/controllers/(.+)_controller\.rb}) { |m| "test/integration/#{m[1]}_test.rb" }
29
+ # watch(%r{^app/views/(.+)_mailer/.+}) { |m| "test/mailers/#{m[1]}_mailer_test.rb" }
30
+ # watch(%r{^lib/(.+)\.rb}) { |m| "test/lib/#{m[1]}_test.rb" }
31
+
32
+ # Rails < 4
33
+ # watch(%r{^app/models/(.+)\.rb$}) { |m| "test/unit/#{m[1]}_test.rb" }
34
+ # watch(%r{^app/controllers/(.+)\.rb$}) { |m| "test/functional/#{m[1]}_test.rb" }
35
+ # watch(%r{^app/views/(.+)/.+\.erb$}) { |m| "test/functional/#{m[1]}_controller_test.rb" }
36
+ # watch(%r{^app/views/.+$}) { 'test/integration' }
37
+ # watch('app/controllers/application_controller.rb') { ['test/functional', 'test/integration'] }
38
+ end
@@ -30,4 +30,5 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "bundler"
31
31
  spec.add_development_dependency "rake", "~> 10.0"
32
32
  spec.add_development_dependency "test-unit"
33
+ spec.add_development_dependency "guard-test"
33
34
  end
@@ -1,3 +1,17 @@
1
1
  require 'httpd_log_parser/base'
2
2
  require 'httpd_log_parser/common'
3
3
  require 'httpd_log_parser/combined'
4
+
5
+ class String
6
+ def to_unicage_str
7
+ return self.gsub(/_/, "\\_").gsub(/ /, "_")
8
+ end
9
+
10
+ def to_unicage_nullchk
11
+ if self == "-"
12
+ return "_"
13
+ end
14
+
15
+ return self
16
+ end
17
+ end
@@ -1,8 +1,10 @@
1
1
 
2
2
  module HttpdLogParser
3
3
  class Base
4
- attr_accessor :remote_host, :client_type, :user_name, :access_time, :request_code, :response_status, :object_bytes, :referer_uri, :user_agent, :request_method, :uri, :url, :query, :filters, :ignore_extentions
4
+ attr_accessor :remote_host, :client_type, :user_name, :access_time, :request_code, :response_status, :object_bytes, :referer_uri, :user_agent, :request_method, :uri, :url, :query, :filters, :ignore_extentions, :call_version, :other_data
5
5
  @@format = '%d/%b/%Y:%H:%M:%S %Z'
6
+ @@format_unicage = '%Y-%m-%dT%H:%M:%S-%Z'
7
+
6
8
  def initializer()
7
9
  @ignore_extentions = []
8
10
  @filters = []
@@ -39,5 +41,8 @@ module HttpdLogParser
39
41
 
40
42
  self
41
43
  end
44
+
45
+
42
46
  end
47
+
43
48
  end
@@ -24,10 +24,26 @@ module HttpdLogParser
24
24
  self.user_agent = line[8]
25
25
  request_datum = self.request_code.split(" ")
26
26
  self.request_method = request_datum[0]
27
- self.uri = request_datum[1]
27
+ if ! request_datum[1].nil?
28
+ self.uri = request_datum[1]
29
+ else
30
+ self.uri = ""
31
+ end
32
+ if ! request_datum[2].nil?
33
+ self.call_version = request_datum[2]
34
+ else
35
+ self.call_version = ""
36
+ end
37
+
28
38
  if ! self.uri.nil?
29
39
  self.url, self.query = self.uri.split('?')
30
40
  end
41
+ if ! line[9].nil?
42
+ self.other_data = line[9]
43
+ else
44
+ self.other_data = ""
45
+ end
46
+
31
47
  rescue => e
32
48
  $stderr.puts e
33
49
  $stderr.puts line
@@ -45,8 +61,14 @@ module HttpdLogParser
45
61
  Digest::MD5.hexdigest(self.referer_uri)
46
62
  end
47
63
 
64
+ # get combined logformat data
48
65
  def log
49
66
  "#{self.remote_host} #{self.client_type} #{self.user_name} [#{self.access_time.strftime(@@format)}] \"#{self.request_code}\" #{self.response_status} #{self.object_bytes} \"#{self.referer_uri}\" \"#{self.user_agent}\""
50
67
  end
68
+
69
+ # get unicage string data
70
+ def to_unicage
71
+ "#{self.remote_host} #{self.client_type.to_unicage_nullchk} #{self.access_time.strftime(@@format_unicage)} #{self.request_method} #{self.uri.to_unicage_str} #{self.call_version.to_unicage_str} #{self.object_bytes} #{self.referer_uri.to_unicage_str.to_unicage_nullchk} #{self.user_agent.to_unicage_str} #{self.other_data.to_unicage_str}"
72
+ end
51
73
  end
52
74
  end
@@ -18,7 +18,16 @@ module HttpdLogParser
18
18
  self.object_bytes = line[6]
19
19
  request_datum = self.request_code.split(" ")
20
20
  self.request_method = request_datum[0]
21
- self.uri = request_datum[1]
21
+ if ! request_datum[1].nil?
22
+ self.uri = request_datum[1]
23
+ else
24
+ self.uri = ""
25
+ end
26
+ if ! request_datum[2].nil?
27
+ self.call_version = request_datum[2]
28
+ else
29
+ self.call_version = ""
30
+ end
22
31
  if ! self.uri.nil?
23
32
  self.url, self.query = self.uri.split('?')
24
33
  end
@@ -38,5 +47,10 @@ module HttpdLogParser
38
47
  def log
39
48
  "#{self.remote_host} #{self.client_type} #{self.user_name} [#{self.access_time.strftime(@@format)}] \"#{self.request_code}\" #{self.response_status} #{self.object_bytes}"
40
49
  end
50
+
51
+ # get unicage string data
52
+ def to_unicage
53
+ "#{self.remote_host} #{self.client_type.to_unicage_nullchk} #{self.access_time.strftime(@@format_unicage)} #{self.request_method} #{self.uri.to_unicage_str} #{self.call_version.to_unicage_str} #{self.object_bytes}"
54
+ end
41
55
  end
42
56
  end
@@ -1,3 +1,3 @@
1
1
  module HttpdLogParser
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpd_log_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - inpwjp
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-13 00:00:00.000000000 Z
11
+ date: 2016-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard-test
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  description: This library is, convert ruby object from Apache log(common, combined).
56
70
  email:
57
71
  - inpw@mua.biglobe.ne.jp
@@ -63,6 +77,7 @@ files:
63
77
  - ".gitignore"
64
78
  - ".travis.yml"
65
79
  - Gemfile
80
+ - Guardfile
66
81
  - LICENSE.txt
67
82
  - README.md
68
83
  - Rakefile