sensible_logging 0.2.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 64e20e7d13d4881981be87fa54a55d5dd4341a4c2fb3d6288f2ad68a35c1f096
4
- data.tar.gz: 07a666fe48011d6c8b76b173161613973fe34bbfaf0994c15a06481744236829
3
+ metadata.gz: 40ddd14f9217b3c9465bf528d8a1a2befb3ff17177340d119533e58d16e208de
4
+ data.tar.gz: 5a20a67b1f01cc7fdd4f7ec7959472086e2d73987ab5c2d6d54f1cbc823d4183
5
5
  SHA512:
6
- metadata.gz: 9e7645eb34a56cfc7f8187c894a7195a9ec60a469c2efe3da221f3e176149a1164a175c433821222cfe8f2294b4c79abd036b759dfb1ceb8155fc6c10d25c4c7
7
- data.tar.gz: 62b656360bed805e943fa1b0c8b6ca5614d0c7af8e4caa447ade4f067b8b6f62fef5905faf9dc33f1e5219d2a2bd994020d48dabb9b506b8351b458fbc7f0016
6
+ metadata.gz: 0f17b47325de077896ae98001452e19a02df1ba12fce8734139ec47d665a1dc8db77609c15d127ff74c8da57e1aebd0f2464c5fa63d530b1e6443d47e37a8c7a
7
+ data.tar.gz: cea09e17ded5de488a701a7aa5e737320ab9c6e444493669d996e57c4979a14199b979eac44cc2f8232a6c5cc6e58619205393a7f43b1436db1f9fa7aadae440
data/examples/app.rb CHANGED
@@ -1,7 +1,17 @@
1
1
  require 'sinatra/base'
2
2
  require 'logger'
3
3
 
4
+ require_relative '../lib/sensible_logging'
5
+
4
6
  class App < Sinatra::Base
7
+ register Sinatra::SensibleLogging
8
+
9
+ sensible_logging(
10
+ logger: Logger.new(STDOUT),
11
+ log_tags: [lambda { |req| [req.port] }],
12
+ exclude_params: ['two']
13
+ )
14
+
5
15
  configure do
6
16
  set :log_level, Logger::DEBUG
7
17
  end
data/examples/config.ru CHANGED
@@ -1,11 +1,4 @@
1
1
  #\ --quiet
2
- require 'logger'
3
2
  require_relative './app'
4
- require_relative '../lib/sensible_logging'
5
3
 
6
- run sensible_logging(
7
- app: App,
8
- logger: Logger.new(STDOUT),
9
- log_tags: TaggedLogger.default_tags + [lambda { |req| [req.port] }],
10
- exclude_params: ['two']
11
- )
4
+ run App
@@ -2,12 +2,13 @@ require 'active_support/tagged_logging'
2
2
  require_relative '../helpers/subdomain_parser'
3
3
 
4
4
  class TaggedLogger
5
- def initialize(app, logger = Logger.new(STDOUT), tags = [], tld_length = 1)
5
+ def initialize(app, logger = Logger.new(STDOUT), tags = [], use_default_log_tags = true, tld_length = 1)
6
6
  @app = app
7
7
  @logger = ActiveSupport::TaggedLogging.new(logger)
8
8
 
9
- @tags = tags
10
- @tags = self.class.default_tags(tld_length: tld_length) if tags.empty?
9
+ @tags = []
10
+ @tags += default_tags(tld_length: tld_length) if use_default_log_tags
11
+ @tags += tags
11
12
  end
12
13
 
13
14
  def call(env)
@@ -17,7 +18,9 @@ class TaggedLogger
17
18
  end
18
19
  end
19
20
 
20
- def self.default_tags(tld_length: 1)
21
+ private
22
+
23
+ def default_tags(tld_length: 1)
21
24
  [lambda { |req|
22
25
  subdomain_parser = SubdomainParser.new(tld_length: tld_length)
23
26
  subdomain = subdomain_parser.parse(req.host)
@@ -26,8 +29,6 @@ class TaggedLogger
26
29
  }]
27
30
  end
28
31
 
29
- private
30
-
31
32
  def generate_tags(env)
32
33
  req = Rack::Request.new(env)
33
34
  tags = @tags.map do |tag|
@@ -1,3 +1,3 @@
1
1
  module SensibleLogging
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -1,18 +1,30 @@
1
+ require 'sinatra/base'
2
+
1
3
  require_relative './sensible_logging/middlewares/request_id'
2
4
  require_relative './sensible_logging/middlewares/tagged_logger'
3
5
  require_relative './sensible_logging/middlewares/request_logger'
4
6
 
5
- def sensible_logging(app:, logger:, log_tags: [], exclude_params: [], tld_length: 1)
6
- use RequestId
7
- use TaggedLogger, logger, log_tags, tld_length
8
- use RequestLogger, exclude_params
7
+ module Sinatra
8
+ module SensibleLogging
9
+ def sensible_logging(
10
+ logger:,
11
+ log_tags: [],
12
+ use_default_log_tags: true,
13
+ exclude_params: [],
14
+ tld_length: 1
15
+ )
16
+ use RequestId
17
+ use TaggedLogger, logger, log_tags, use_default_log_tags, tld_length
18
+ use RequestLogger, exclude_params
9
19
 
10
- app.before do
11
- env['rack.errors'] = env['rack.logger'] = env['logger']
12
- if app.settings.log_level != nil
13
- logger.level = app.settings.log_level
20
+ before do
21
+ env['rack.errors'] = env['rack.logger'] = env['logger']
22
+ if settings.log_level != nil
23
+ logger.level = settings.log_level
24
+ end
25
+ end
14
26
  end
15
27
  end
16
28
 
17
- app
29
+ register SensibleLogging
18
30
  end
@@ -6,7 +6,7 @@ require 'sensible_logging/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'sensible_logging'
8
8
  spec.version = SensibleLogging::VERSION
9
- spec.authors = ['David Winter', 'Mark Sta Ana']
9
+ spec.authors = ['David Winter', 'Mark Sta Ana', 'Anthony King']
10
10
  spec.email = ['sre@madetech.com']
11
11
 
12
12
  spec.summary = 'Sensible logging defaults for your Sinatra app'
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensible_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Winter
8
8
  - Mark Sta Ana
9
+ - Anthony King
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2019-01-07 00:00:00.000000000 Z
13
+ date: 2019-01-08 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: rack