sensible_logging 0.2.0 → 0.3.0

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