logstasher 0.4.1 → 0.4.5

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.
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