timber 2.0.6 → 2.0.7

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e2575049d24c209a60b30d3c307d948a4dd6fd96
4
- data.tar.gz: 5f2fa7d925b449836a7b17f6ade39a69d9d2138e
3
+ metadata.gz: b8e5de46982d4346797f2fcefba7f45d601bc6cd
4
+ data.tar.gz: 2a46a4fbc36cb8b6de0901cb138aeb7249ddd931
5
5
  SHA512:
6
- metadata.gz: c6cefa704196b834836c4ec586a2aba41a27bdab0e11d9ca943a0ffca8425768c45c2ce71fd35f05f8aab935f2ad822e556d930736d7055f5a6515872b7f97de
7
- data.tar.gz: afc046c48f805a946fd49353b3a56629bc1557df302790d88b9c15fb51fa5d16f2cf4569e63f5fa7a14d9ece7b4bedf16646c64e3005435c154809231af5da61
6
+ metadata.gz: 81c9834d338f1d54f15df5c36802e761c3725da1cc36de4c46992fc7cc536ff6d0630678666937d22e0181dffdc7c1790ff2c4a4046732d8cdf352ccee60cb36
7
+ data.tar.gz: 8167bb8a446d336b4f798da86f10d66b1b67cba12f1d95f4c0a1be828d08526add3346916451f4a02226f469320c476a43ff1372a2f67384d68500e63a0553a9
@@ -18,14 +18,28 @@ module Timber
18
18
 
19
19
  include Singleton
20
20
 
21
- attr_writer :append_metadata, :debug_logger, :http_body_limit, :logger
21
+ attr_writer :append_metadata, :debug_logger, :header_filters, :http_body_limit, :logger
22
22
 
23
23
  # @private
24
24
  def initialize
25
+ @header_filters = []
25
26
  @http_body_limit = 2000
26
27
  end
27
28
 
29
+ # This is useful for debugging. This Sets a debug_logger to view internal Timber library
30
+ # log messages. The default is `nil`. Meaning log to nothing.
31
+ #
32
+ # @example Rails
33
+ # config.timber.debug_logger = ::Logger.new(STDOUT)
34
+ # @example Everything else
35
+ # Timber::Config.instance.debug_logger = ::Logger.new(STDOUT)
36
+ def debug_logger
37
+ @debug_logger
38
+ end
39
+
28
40
  # The environment your app is running in. Defaults to `RACK_ENV` and `RAILS_ENV`.
41
+ # It should be rare that you have to set this. If the aforementioned env vars are not
42
+ # set please do.
29
43
  #
30
44
  # @example Rails
31
45
  # config.timber.environment = "staging"
@@ -35,21 +49,21 @@ module Timber
35
49
  @environment ||= ENV["RACK_ENV"] || ENV["RAILS_ENV"] || "development"
36
50
  end
37
51
 
38
- # Set a debug_logger to view internal Timber library log message.
39
- # Useful for debugging. Defaults to `nil`. If set, debug messages will be
40
- # written to this logger.
52
+ # This is a list of header keys that should be filtered. Note, all headers are
53
+ # normalized to down-case. So please _only_ pass down-cased headers.
41
54
  #
42
55
  # @example Rails
43
- # config.timber.debug_logger = ::Logger.new(STDOUT)
44
- # @example Everything else
45
- # Timber::Config.instance.debug_logger = ::Logger.new(STDOUT)
46
- def debug_logger
47
- @debug_logger
56
+ # # config/environments/production.rb
57
+ # config.timber.filter_headers += ['api-key']
58
+ def header_filters
59
+ @header_filters
48
60
  end
49
61
 
50
62
  # Truncates captured HTTP bodies to this specified limit. The default is `2000`.
51
63
  # If you want to capture more data, you can raise this to a maximum of `5000`,
52
- # or lower this to be more efficient with data.
64
+ # or lower this to be more efficient with data. `2000` characters should give you a good
65
+ # idea of the body content. If you need to raise to `5000` you're only constraint is
66
+ # network throughput.
53
67
  #
54
68
  # @example Rails
55
69
  # config.timber.http_body_limit = 500
@@ -59,12 +73,13 @@ module Timber
59
73
  @http_body_limit
60
74
  end
61
75
 
62
- # Should the logger append the Timber metadata. This is automatically turned on
63
- # for production and staging environments. Other environments should be set manually.
64
- # If set to `true` log messages will look like:
76
+ # This determines if the log messages should have metadata appended. Ex:
65
77
  #
66
78
  # log message @metadata {...}
67
79
  #
80
+ # By default, this is turned on for production and staging environments only. Other
81
+ # environment should set this setting explicitly.
82
+ #
68
83
  # @example Rails
69
84
  # config.timber.append_metadata = false
70
85
  # @example Everything else
@@ -77,10 +92,9 @@ module Timber
77
92
  production? || staging?
78
93
  end
79
94
 
80
- # This is the logger Timber writes to. All of the Timber integrations write to
81
- # this logger. It should be set to your global logger to keep the logging destination consitent.
82
- #
83
- # For Rails this is set automatically to `Rails.logger`.
95
+ # This is the _main_ logger Timber writes to. All of the Timber integrations write to
96
+ # this logger instance. It should be set to your global logger. For Rails, this is set
97
+ # automatically to `Rails.logger`, you should not have to set this.
84
98
  #
85
99
  # @example Rails
86
100
  # Rails.logger = Timber::Logger.new(STDOUT)
@@ -31,7 +31,11 @@ module Timber
31
31
  when AUTHORIZATION_HEADER
32
32
  h[k] = SANITIZED_VALUE
33
33
  else
34
- h[k] = v
34
+ if Config.instance.header_filters && Config.instance.header_filters.include?(k)
35
+ h[k] = SANITIZED_VALUE
36
+ else
37
+ h[k] = v
38
+ end
35
39
  end
36
40
  end
37
41
  else
@@ -48,7 +52,7 @@ module Timber
48
52
  query_string = query_string.to_s
49
53
  end
50
54
 
51
- query_string[0..(QUERY_STRING_LIMIT - 1)]
55
+ query_string && query_string[0..(QUERY_STRING_LIMIT - 1)]
52
56
  end
53
57
  end
54
58
  end
@@ -1,3 +1,3 @@
1
1
  module Timber
2
- VERSION = "2.0.6"
2
+ VERSION = "2.0.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timber
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6
4
+ version: 2.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timber Technologies, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-27 00:00:00.000000000 Z
11
+ date: 2017-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack