logstasher 0.4.1 → 0.4.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZWQ3ZDcxYjA4NjYwZjFjMjQ5YWQxNWE0NzZiOTZjNDZkM2I5ODc1NA==
4
+ MDA5MTJiNzE4OTM1OGI3MmMzNzk4ZWRhNWQzNDE3NmI5NzNkYWUyNw==
5
5
  data.tar.gz: !binary |-
6
- YmI0ODIzZDI2MDI3OTA3OWIxYzUyY2FjMzA0MDQ3YmE3YjA0ZGUzMQ==
6
+ NTE1NDBhZjAxYzVkNjQ5N2IyZTU0ODczOWZjZjgxNzUwMzE4ZDgxNw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWYxZjRlMTFhZjkyNThkMzcyY2VmMThmODc5OTc3MzlmZjFhOWEyMjk5OWJi
10
- N2E3NGY5YjEwNDU5NmE0MTNmNTIwZjg3ZWJhMzRmMTMxZWViNmNlNWNkZGQy
11
- ZGE2MDNiNzI5MDQ0YzlkY2VlNTM0MGI5ZDc4NzE2YzgwMmYxNjk=
9
+ ZTk5NjhiNzNkOWViYWNjYjdlNWY1MTdkZDgwZDEyNDRmMDBlOGFjMTY0Nzdl
10
+ NTlmMzhjODc1ZWVlMDhiYzExZjNlZjEzMGY1NGVlYzk4YzYzMjgxNmYzY2Y0
11
+ ZjhhZDY0MTZhOTEwZGI2MDllZDFjNDk0ZDQ5ODZkZTE0YzMxZTM=
12
12
  data.tar.gz: !binary |-
13
- ZjNjN2ZmYmYyNDc4YjkwZGU4M2JjNDNkOWQ2MTE2MjBlZDZkMjFhMGQ0YWM0
14
- OTE4ZmYxN2NkMmRiNjcxYzEwYzcyNmI5MTg4Zjg5MWQ3NGM1OTBmZGIwODZm
15
- OGNkMjcwNmViZDUyOTk3YTdmMmQ1YjcwNTY0N2FmYmQ0OTg5ZmE=
13
+ MzZjYzQzMTY0ODM0MzBmNGQ0NmJiOTJhZDVlNzViOWM1ODk4NmY3YWY0NzE1
14
+ NGU3YzBhOTRmMDBkMTA1Y2MxYzNkNmNkNWM0ZTkyNjc1YmRjODliYTg0NDY3
15
+ YmYzNTU4YzcxMjQzYzFjYzg4ZGFkOTg5NTczN2VjZWM1ZDkwODg=
data/lib/logstasher.rb CHANGED
@@ -5,10 +5,10 @@ require 'active_support/core_ext/string/inflections'
5
5
  require 'active_support/ordered_options'
6
6
 
7
7
  module LogStasher
8
- # Logger for the logstash logs
9
- mattr_accessor :logger, :enabled
8
+ extend self
9
+ attr_accessor :logger, :enabled
10
10
 
11
- def self.remove_existing_log_subscriptions
11
+ def remove_existing_log_subscriptions
12
12
  ActiveSupport::LogSubscriber.log_subscribers.each do |subscriber|
13
13
  case subscriber
14
14
  when ActionView::LogSubscriber
@@ -19,7 +19,7 @@ module LogStasher
19
19
  end
20
20
  end
21
21
 
22
- def self.unsubscribe(component, subscriber)
22
+ def unsubscribe(component, subscriber)
23
23
  events = subscriber.public_methods(false).reject{ |method| method.to_s == 'call' }
24
24
  events.each do |event|
25
25
  ActiveSupport::Notifications.notifier.listeners_for("#{event}.#{component}").each do |listener|
@@ -30,66 +30,71 @@ module LogStasher
30
30
  end
31
31
  end
32
32
 
33
- def self.add_default_fields_to_payload(payload, request)
33
+ def add_default_fields_to_payload(payload, request)
34
34
  payload[:ip] = request.remote_ip
35
35
  payload[:route] = "#{request.params[:controller]}##{request.params[:action]}"
36
36
  payload[:parameters] = payload[:params].except(*ActionController::LogSubscriber::INTERNAL_PARAMS)
37
37
  self.custom_fields += [:ip, :route, :parameters]
38
38
  end
39
39
 
40
- def self.add_custom_fields(&block)
40
+ def add_custom_fields(&block)
41
41
  ActionController::Metal.send(:define_method, :logtasher_add_custom_fields_to_payload, &block)
42
42
  ActionController::Base.send(:define_method, :logtasher_add_custom_fields_to_payload, &block)
43
43
  end
44
44
 
45
- def self.setup(app)
45
+ def setup(app)
46
46
  app.config.action_dispatch.rack_cache[:verbose] = false if app.config.action_dispatch.rack_cache
47
47
  # Path instrumentation class to insert our hook
48
48
  require 'logstasher/rails_ext/action_controller/metal/instrumentation'
49
49
  require 'logstash-event'
50
50
  self.suppress_app_logs(app)
51
51
  LogStasher::RequestLogSubscriber.attach_to :action_controller
52
- self.logger = app.config.logstasher.logger || Logger.new("#{Rails.root}/log/logstash_#{Rails.env}.log")
52
+ self.logger = app.config.logstasher.logger || new_logger("#{Rails.root}/log/logstash_#{Rails.env}.log")
53
53
  self.logger.level = app.config.logstasher.log_level || Logger::WARN
54
54
  self.enabled = true
55
55
  end
56
56
 
57
- def self.suppress_app_logs(app)
57
+ def suppress_app_logs(app)
58
58
  if configured_to_suppress_app_logs?(app)
59
59
  require 'logstasher/rails_ext/rack/logger'
60
60
  LogStasher.remove_existing_log_subscriptions
61
61
  end
62
62
  end
63
63
 
64
- def self.configured_to_suppress_app_logs?(app)
64
+ def configured_to_suppress_app_logs?(app)
65
65
  # This supports both spellings: "suppress_app_log" and "supress_app_log"
66
66
  !!(app.config.logstasher.suppress_app_log.nil? ? app.config.logstasher.supress_app_log : app.config.logstasher.suppress_app_log)
67
67
  end
68
68
 
69
- def self.custom_fields
69
+ def custom_fields
70
70
  Thread.current[:logstasher_custom_fields] ||= []
71
71
  end
72
72
 
73
- def self.custom_fields=(val)
73
+ def custom_fields=(val)
74
74
  Thread.current[:logstasher_custom_fields] = val
75
75
  end
76
76
 
77
77
 
78
- def self.log(severity, msg)
78
+ def log(severity, msg)
79
79
  if self.logger && self.logger.send("#{severity}?")
80
80
  event = LogStash::Event.new('@fields' => {:message => msg, :level => severity},'@tags' => ['log'])
81
81
  self.logger.send severity, event.to_json
82
82
  end
83
83
  end
84
84
 
85
- class << self
86
- %w( fatal error warn info debug unknown ).each do |severity|
87
- eval <<-EOM, nil, __FILE__, __LINE__ + 1
88
- def #{severity}(msg)
89
- self.log(:#{severity}, msg)
90
- end
91
- EOM
92
- end
85
+ %w( fatal error warn info debug unknown ).each do |severity|
86
+ eval <<-EOM, nil, __FILE__, __LINE__ + 1
87
+ def #{severity}(msg)
88
+ self.log(:#{severity}, msg)
89
+ end
90
+ EOM
91
+ end
92
+
93
+ private
94
+
95
+ def new_logger(path)
96
+ FileUtils.touch path # prevent autocreate messages in log
97
+ Logger.new path
93
98
  end
94
99
  end
95
100
 
@@ -1,3 +1,3 @@
1
1
  module LogStasher
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstasher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shadab Ahmed
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-06 00:00:00.000000000 Z
11
+ date: 2014-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logstash-event