sensible_logging 0.4.1 → 0.4.2

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: 8a3b74510253681a9999278535633d1297f065418722947adab13556809eff9a
4
- data.tar.gz: ea8e280d74e25f055ccb30fea6c5adbe87154e5b67e2ded25a2b0c87365f5bea
3
+ metadata.gz: 9e38e81bacc78dc2cab4f5883bda17d8046982278eeff8f26b24e083439de8e7
4
+ data.tar.gz: 1043a629d3441cd7058b5be4545bae2abb06ec094d68fcfaa9e9604068f1e044
5
5
  SHA512:
6
- metadata.gz: ffa0e0f617c0a8725b06ab70e44735206c7e88001912ccaa2b150e92ce27877af0fa4cc1cbfecaa96c1b1ce1cf433c98184a106233ec9a75cc5ffaffb188e782
7
- data.tar.gz: 3f5758087a70913f9aeb4bd52c8fbd6177e316712cd8e70d41eabd3f55247964e4cc73d4174b2c238316daa3c732dbaa2ae6ebfb9eda27aff39a2c144864f497
6
+ metadata.gz: 53f1b8eec5fcbb81457253943e1367bd3393e81955971e1a17ceee61df5594b2072407a51ca903c7e70605eff30d5855f55634251a2874a8217db0b2a46248ee
7
+ data.tar.gz: 15446e3ae903c6a5506e2af6a6f438da7ead8087456d89cf504ddfa4c4471f0218b6d9f57a099f443c78fc80192c0f56b81ea1b669d46b5c768cfc4c67e481b1
@@ -0,0 +1 @@
1
+ github: [davidwinter]
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "bundler"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "daily"
@@ -0,0 +1,27 @@
1
+ name: test
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ test:
11
+
12
+ runs-on: ubuntu-latest
13
+ strategy:
14
+ matrix:
15
+ ruby-version: ['2.6', '2.7', '3.0']
16
+
17
+ steps:
18
+ - uses: actions/checkout@v2
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby-version }}
23
+ bundler-cache: true
24
+ - name: Run tests
25
+ run: bundle exec rspec --backtrace
26
+ - name: Run linting
27
+ run: bundle exec rubocop
data/.rubocop.yml CHANGED
@@ -1,8 +1,15 @@
1
+ AllCops:
2
+ NewCops: enable
3
+ SuggestExtensions: false
4
+
1
5
  require: rubocop-rspec
2
6
 
3
- Metrics/LineLength:
7
+ Layout/LineLength:
4
8
  Max: 120
5
9
 
10
+ RSpec/MultipleMemoizedHelpers:
11
+ Enabled: false
12
+
6
13
  Metrics/BlockLength:
7
14
  Exclude:
8
15
  - 'spec/**/*.rb'
data/.simplecov CHANGED
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  SimpleCov.start do
2
- minimum_coverage 100
3
- if ENV['CI']
4
- require 'codecov'
5
- SimpleCov.formatter = SimpleCov::Formatter::Codecov
6
- end
4
+ minimum_coverage 100
5
+ if ENV['CI']
6
+ require 'codecov'
7
+ SimpleCov.formatter = SimpleCov::Formatter::Codecov
8
+ end
7
9
  end
data/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  # Sensible Logging
2
2
 
3
- [![CircleCI](https://circleci.com/gh/madetech/sensible_logging.svg?style=svg)](https://circleci.com/gh/madetech/sensible_logging)
4
- [![codecov](https://codecov.io/gh/madetech/sensible_logging/branch/master/graph/badge.svg)](https://codecov.io/gh/madetech/sensible_logging)
5
- [![Gem Version](https://badge.fury.io/rb/sensible_logging.png)](http://badge.fury.io/rb/sensible_logging)
3
+ [![test](https://github.com/davidwinter/sensible_logging/workflows/test/badge.svg)](https://github.com/davidwinter/sensible_logging/actions?query=workflow%3Atest) [![Gem](https://img.shields.io/gem/dtv/sensible_logging)](https://rubygems.org/gems/sensible_logging)
6
4
 
7
- A logging extension with sensible defaults for Sinatra apps.
5
+ > A logging extension with sensible defaults for Sinatra apps.
8
6
 
9
7
  ## Features
10
8
 
@@ -49,7 +47,7 @@ A logging extension with sensible defaults for Sinatra apps.
49
47
 
50
48
  # Initialise Sensible Logging to add our middlewares.
51
49
  sensible_logging(
52
- logger: Logger.new(STDOUT)
50
+ logger: Logger.new($stdout)
53
51
  )
54
52
 
55
53
  # Configure the log level for different environments
@@ -82,22 +80,22 @@ A logging extension with sensible defaults for Sinatra apps.
82
80
 
83
81
  There are a number of options that you can pass into `sensible_logging`:
84
82
 
85
- * `logger`: The logging object.
86
- **Default**: `Logger.new(STDOUT)`
87
- * `use_default_log_tags`: Includes the subdomain, `RACK_ENV` and unique request ID in the log tags.
83
+ * `logger`: The logging object.
84
+ **Default**: `Logger.new($stdout)`
85
+ * `use_default_log_tags`: Includes the subdomain, `RACK_ENV` and unique request ID in the log tags.
88
86
  **Default**: `true`
89
- * `tld_length`: For example, if your domain was `www.google.com` this would result in `www` being tagged as your subdomain. If your domain is `www.google.co.uk`, set this value to `2` to correctly identify the subdomain as `www` rather than `www.google`.
87
+ * `tld_length`: For example, if your domain was `www.google.com` this would result in `www` being tagged as your subdomain. If your domain is `www.google.co.uk`, set this value to `2` to correctly identify the subdomain as `www` rather than `www.google`.
90
88
  **Default**: `1`.
91
- * `log_tags`: An array of additional log tags to include. This can be strings, or you can include a `lambda` that will be evaluated. The `lambda` is passed a Rack `Request` object, and it must return an array of string values.
89
+ * `log_tags`: An array of additional log tags to include. This can be strings, or you can include a `lambda` that will be evaluated. The `lambda` is passed a Rack `Request` object, and it must return an array of string values.
92
90
  **Default**: `[]`
93
- * `exclude_params`: An array of parameter names to be excluded from `GET` requests. By default, `GET` parameters are outputted in logs. If for example with the request `http://google.com/?one=dog&two=cat` you didn't want the `one` logged, you would set `exclude_params` to be `['one']`
91
+ * `exclude_params`: An array of parameter names to be excluded from `GET` requests. By default, `GET` parameters are outputted in logs. If for example with the request `http://google.com/?one=dog&two=cat` you didn't want the `one` logged, you would set `exclude_params` to be `['one']`
94
92
  **Default**: `[]`
95
- * `include_log_severity`: Includes the log severity in the tagged output, such as `INFO`, `DEBUG` etc
93
+ * `include_log_severity`: Includes the log severity in the tagged output, such as `INFO`, `DEBUG` etc
96
94
  **Default**: `true`
97
95
 
98
96
  Sensible Logger will also respect the following Sinatra settings:
99
97
 
100
- * `log_level`: The level at which your logger object should respect logs. See above example.
98
+ * `log_level`: The level at which your logger object should respect logs. See above example.
101
99
  **Default**: `Logger::DEBUG`
102
100
 
103
101
  ## Examples
@@ -131,9 +129,17 @@ To quote [lograge][link_lograge] (which was the inspiration for this library):
131
129
 
132
130
  > The syntax is heavily inspired by the log output of the Heroku router. It doesn't include any timestamp by default, instead, it assumes you use a proper log formatter instead.
133
131
 
132
+ ## Releasing
133
+
134
+ 1. Update the version number `lib/sensible_logging/version.rb`
135
+ 2. Create a git commit and tag with the new version number
136
+ 3. Create a new PR with this change and once approved, merge to `main`
137
+ 4. Create a new PR with changes in `main` to be merged into `stable` since the last release
138
+ 5. Once approved and merged in, locally, run: `bundle exec rake release` which will build and push the new gem to Rubygems
139
+
134
140
  ## Authors
135
141
 
136
- By [David Winter](https://github.com/davidwinter), [Mark Sta Ana](https://github.com/booyaa) & [Anthony King](https://github.com/cybojenix)
142
+ By [David Winter](https://github.com/davidwinter) with contributions from [Mark Sta Ana](https://github.com/booyaa) & [Anthony King](https://github.com/cybojenix)
137
143
 
138
144
  ## License
139
145
 
data/examples/app.rb CHANGED
@@ -10,7 +10,7 @@ class App < Sinatra::Base
10
10
  register Sinatra::SensibleLogging
11
11
 
12
12
  sensible_logging(
13
- logger: Logger.new(STDOUT),
13
+ logger: Logger.new($stdout),
14
14
  log_tags: [->(req) { [req.port] }],
15
15
  exclude_params: ['two']
16
16
  )
@@ -21,7 +21,7 @@ module Sinatra
21
21
  # Sensible logging library for Sinatra based Apps
22
22
  module SensibleLogging
23
23
  def sensible_logging( # rubocop:disable Metrics/MethodLength, Metrics/ParameterLists
24
- logger: Logger.new(STDOUT),
24
+ logger: Logger.new($stdout),
25
25
  log_tags: [],
26
26
  use_default_log_tags: true,
27
27
  exclude_params: [],
@@ -6,22 +6,26 @@ require_relative '../helpers/subdomain_parser'
6
6
 
7
7
  # Allow custom tags to be captured
8
8
  class TaggedLogger
9
- def initialize( # rubocop:disable Metrics/ParameterLists
9
+ def initialize( # rubocop:disable Metrics/MethodLength
10
10
  app,
11
- logger: Logger.new(STDOUT),
12
- tags: [],
13
- use_default_tags: true,
14
- tld_length: 1,
15
- include_log_severity: true
11
+ options = {}
16
12
  )
17
13
  @app = app
18
14
 
19
- logger = setup_severity_tag(logger) if include_log_severity
15
+ options = {
16
+ logger: Logger.new($stdout),
17
+ tags: [],
18
+ use_default_tags: true,
19
+ tld_length: 1,
20
+ include_log_severity: true
21
+ }.merge(options)
20
22
 
21
- @logger = ActiveSupport::TaggedLogging.new(logger)
23
+ options[:logger] = setup_severity_tag(options[:logger]) if options[:include_log_severity]
24
+
25
+ @logger = ActiveSupport::TaggedLogging.new(options[:logger])
22
26
  @tags = []
23
- @tags += default_tags(tld_length: tld_length) if use_default_tags
24
- @tags += tags
27
+ @tags += default_tags(tld_length: options[:tld_length]) if options[:use_default_tags]
28
+ @tags += options[:tags]
25
29
  end
26
30
 
27
31
  def call(env)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SensibleLogging
4
- VERSION = '0.4.1'
4
+ VERSION = '0.4.2'
5
5
  end
@@ -8,29 +8,31 @@ Gem::Specification.new do |spec|
8
8
  spec.name = 'sensible_logging'
9
9
  spec.version = SensibleLogging::VERSION
10
10
  spec.authors = ['David Winter', 'Mark Sta Ana', 'Anthony King']
11
- spec.email = ['sre@madetech.com']
11
+ spec.email = ['i@djw.me']
12
12
 
13
13
  spec.summary = 'Sensible logging defaults for your Sinatra app'
14
- spec.homepage = 'https://github.com/madetech/sensible_logging'
14
+ spec.homepage = 'https://github.com/davidwinter/sensible_logging'
15
15
  spec.license = 'MIT'
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
18
  f.match(%r{^(test|spec|features)/})
19
19
  end
20
20
 
21
+ spec.required_ruby_version = '>= 2.6'
22
+
21
23
  spec.require_paths = ['lib']
22
24
 
23
25
  spec.add_runtime_dependency 'activesupport', '~> 5.2'
24
26
  spec.add_runtime_dependency 'rack', '~> 2.0'
25
27
 
26
- spec.add_development_dependency 'bundler', '~> 2.0.1'
28
+ spec.add_development_dependency 'bundler', '~> 2.2.0'
27
29
  spec.add_development_dependency 'codecov'
28
- spec.add_development_dependency 'pry', '~> 0.12.2'
29
- spec.add_development_dependency 'puma', '~> 3.12'
30
+ spec.add_development_dependency 'pry', '~> 0.14.1'
31
+ spec.add_development_dependency 'puma', '~> 5.3'
30
32
  spec.add_development_dependency 'rake', '~> 12.3'
31
33
  spec.add_development_dependency 'rspec', '~> 3.0'
32
- spec.add_development_dependency 'rubocop', '~> 0.65.0'
33
- spec.add_development_dependency 'rubocop-rspec', '~> 1.32.0'
34
+ spec.add_development_dependency 'rubocop', '~> 1.16.1'
35
+ spec.add_development_dependency 'rubocop-rspec', '~> 2.4.0'
34
36
  spec.add_development_dependency 'simplecov'
35
37
  spec.add_development_dependency 'sinatra', '~> 2.0'
36
38
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensible_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Winter
8
8
  - Mark Sta Ana
9
9
  - Anthony King
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-05-13 00:00:00.000000000 Z
13
+ date: 2021-06-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -46,14 +46,14 @@ dependencies:
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 2.0.1
49
+ version: 2.2.0
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: 2.0.1
56
+ version: 2.2.0
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: codecov
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -74,28 +74,28 @@ dependencies:
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: 0.12.2
77
+ version: 0.14.1
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: 0.12.2
84
+ version: 0.14.1
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: puma
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '3.12'
91
+ version: '5.3'
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '3.12'
98
+ version: '5.3'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: rake
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -130,28 +130,28 @@ dependencies:
130
130
  requirements:
131
131
  - - "~>"
132
132
  - !ruby/object:Gem::Version
133
- version: 0.65.0
133
+ version: 1.16.1
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
- version: 0.65.0
140
+ version: 1.16.1
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: rubocop-rspec
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - "~>"
146
146
  - !ruby/object:Gem::Version
147
- version: 1.32.0
147
+ version: 2.4.0
148
148
  type: :development
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - "~>"
153
153
  - !ruby/object:Gem::Version
154
- version: 1.32.0
154
+ version: 2.4.0
155
155
  - !ruby/object:Gem::Dependency
156
156
  name: simplecov
157
157
  requirement: !ruby/object:Gem::Requirement
@@ -180,14 +180,16 @@ dependencies:
180
180
  - - "~>"
181
181
  - !ruby/object:Gem::Version
182
182
  version: '2.0'
183
- description:
183
+ description:
184
184
  email:
185
- - sre@madetech.com
185
+ - i@djw.me
186
186
  executables: []
187
187
  extensions: []
188
188
  extra_rdoc_files: []
189
189
  files:
190
- - ".circleci/config.yml"
190
+ - ".github/FUNDING.yml"
191
+ - ".github/dependabot.yml"
192
+ - ".github/workflows/test.yml"
191
193
  - ".gitignore"
192
194
  - ".rspec"
193
195
  - ".rubocop.yml"
@@ -207,11 +209,11 @@ files:
207
209
  - lib/sensible_logging/middlewares/tagged_logger.rb
208
210
  - lib/sensible_logging/version.rb
209
211
  - sensible_logging.gemspec
210
- homepage: https://github.com/madetech/sensible_logging
212
+ homepage: https://github.com/davidwinter/sensible_logging
211
213
  licenses:
212
214
  - MIT
213
215
  metadata: {}
214
- post_install_message:
216
+ post_install_message:
215
217
  rdoc_options: []
216
218
  require_paths:
217
219
  - lib
@@ -219,15 +221,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
219
221
  requirements:
220
222
  - - ">="
221
223
  - !ruby/object:Gem::Version
222
- version: '0'
224
+ version: '2.6'
223
225
  required_rubygems_version: !ruby/object:Gem::Requirement
224
226
  requirements:
225
227
  - - ">="
226
228
  - !ruby/object:Gem::Version
227
229
  version: '0'
228
230
  requirements: []
229
- rubygems_version: 3.0.1
230
- signing_key:
231
+ rubygems_version: 3.2.15
232
+ signing_key:
231
233
  specification_version: 4
232
234
  summary: Sensible logging defaults for your Sinatra app
233
235
  test_files: []
data/.circleci/config.yml DELETED
@@ -1,22 +0,0 @@
1
- version: 2
2
- jobs:
3
- build_and_test:
4
- docker:
5
- - image: circleci/ruby:2.6.1
6
- environment:
7
- RACK_ENV: test
8
-
9
- steps:
10
- - checkout
11
-
12
- - run: gem install bundler
13
- - run: bundle install --jobs=4 --retry=3 --path vendor/bundle
14
-
15
- - run: bundle exec rspec --backtrace
16
- - run: bundle exec rubocop
17
-
18
- workflows:
19
- version: 2
20
- test_and_deploy:
21
- jobs:
22
- - build_and_test