ezlog 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +3 -1
- data/CHANGELOG.md +14 -3
- data/README.md +12 -9
- data/lib/ezlog/railtie.rb +3 -4
- data/lib/ezlog/sidekiq/job_logger.rb +8 -6
- data/lib/ezlog/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 224d8e39821229350d6b406645432d210cc2b2e8
|
4
|
+
data.tar.gz: 45d821f0923048e29c085a3a86a6104776b2dbc0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ad716714f7e5cef573a434828bca5984ed5af24222a339f1e9712a9e4ccb3478f326c01219fac4f01e34afad0b25b052c550309626d4c04a861be673b2bb46b
|
7
|
+
data.tar.gz: febe42af5f6d3356e644cce5c43c289bcba87cc8a1caa2ace751f9fd7d23cbc66be7ea59c5251c44cdd55436f4136fab9985ece9e41552d77b05b48a95e8dd8e
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,23 @@
|
|
1
|
+
### 0.3.2 (2019-06-18)
|
2
|
+
|
3
|
+
[Full Changelog](https://github.com/emartech/ezlog/compare/v0.3.1...v0.3.2)
|
4
|
+
|
5
|
+
* Features & enhancements
|
6
|
+
* Ruby 2.4 is supported
|
7
|
+
|
8
|
+
* Bug fixes
|
9
|
+
* Default log level is now set for the root logger instead of the root log layout so that the log level can be
|
10
|
+
overriden programatically per logger (if necessary)
|
11
|
+
|
1
12
|
### 0.3.1 (2019-06-09)
|
2
13
|
|
3
14
|
[Full Changelog](https://github.com/emartech/ezlog/compare/v0.2.2...v0.3.1)
|
4
15
|
|
5
16
|
* Features & enhancements
|
6
|
-
* Unified access log for Rails
|
17
|
+
* Unified access log for [Rails](https://rubyonrails.org/)
|
7
18
|
* 1 message per request
|
8
19
|
* Includes request ID, parameters, response code
|
9
|
-
* Non-verbose logging of uncaught exceptions in Rails apps
|
20
|
+
* Non-verbose logging of uncaught exceptions in [Rails](https://rubyonrails.org/) apps
|
10
21
|
* 1 message per error
|
11
22
|
* Use ERROR level instead of FATAL
|
12
23
|
* [Rack::Timeout](https://github.com/heroku/rack-timeout) logging is now completely turned off, because Timeout errors
|
@@ -44,4 +55,4 @@ First version of the gem including the following:
|
|
44
55
|
* JobLogger for [Sidekiq](https://github.com/mperham/sidekiq)
|
45
56
|
* Filter [Rack::Timeout](https://github.com/heroku/rack-timeout) logs to WARN level and above
|
46
57
|
* [RSpec](https://rspec.info/) support
|
47
|
-
* Rails integration via Railtie
|
58
|
+
* [Rails](https://rubyonrails.org/) integration via Railtie
|
data/README.md
CHANGED
@@ -34,9 +34,9 @@ That's it. Everything else is automatically configured.
|
|
34
34
|
## What it does
|
35
35
|
|
36
36
|
* Initializes the [Logging](https://github.com/TwP/logging) library
|
37
|
-
* Configures Rails logging
|
38
|
-
* Configures Sidekiq logging
|
39
|
-
* Configures Rack::Timeout logging
|
37
|
+
* Configures [Rails](https://rubyonrails.org/)'s logging
|
38
|
+
* Configures [Sidekiq](https://github.com/mperham/sidekiq) logging
|
39
|
+
* Configures [Rack::Timeout](https://github.com/heroku/rack-timeout) logging
|
40
40
|
* Provides testing support for [RSpec](https://rspec.info/)
|
41
41
|
|
42
42
|
#### Initializes the Logging library
|
@@ -67,23 +67,23 @@ logger.info message: 'Job finished', duration: 2
|
|
67
67
|
#=> {"logger":"App","timestamp":"2019-05-11T16:08:38+02:00","level":"INFO","hostname":"MacbookPro.local","pid":71674,"message":"Job finished","duration":2}
|
68
68
|
|
69
69
|
logger.error ex
|
70
|
-
#=> {"logger":"App","timestamp":"2019-05-11T16:08:38+02:00","level":"
|
70
|
+
#=> {"logger":"App","timestamp":"2019-05-11T16:08:38+02:00","level":"ERROR","hostname":"MacbookPro.local","pid":71674,"message":"Error message","error":{"class":"StandardError","message":"Error message","backtrace":[...]}}
|
71
71
|
```
|
72
72
|
|
73
73
|
#### Configures Rails logging
|
74
74
|
|
75
75
|
Ezlog configures the `Rails.logger` to be an instance of a [Logging](https://github.com/TwP/logging) logger by the name
|
76
|
-
of `Application`, behaving as described above. The logger uses the log level set in `application.rb`
|
77
|
-
|
76
|
+
of `Application`, behaving as described above. The logger uses the log level set in `application.rb` if present, or
|
77
|
+
INFO as a default log level.
|
78
78
|
|
79
79
|
In addition to this, Ezlog also does the following:
|
80
80
|
* It adds the environment (`Rails.env`) to the logger's initial context, so it will automatically be appended to all log messages
|
81
81
|
emitted by the application.
|
82
|
-
* It disables Rails's default
|
82
|
+
* It disables Rails's default logging of uncaught errors and injects its own error logger into the application, which
|
83
83
|
* logs 1 line per error, including the error's name and context (stack trace, etc.),
|
84
84
|
* logs every error at ERROR level instead of the default FATAL.
|
85
|
-
* It disables Rails's default
|
86
|
-
and replaces the default Rack access log with its own access log middleware. The end result is an access log
|
85
|
+
* It disables Rails's default request logging, which logs several lines per event during the processing of an action,
|
86
|
+
and replaces the default Rack access log with its own access log middleware. The end result is an access log that
|
87
87
|
* contains all relevant information (request ID, method, path, params, client IP, duration and response status code), and
|
88
88
|
* has 1 log line per request, logged at the end of the request.
|
89
89
|
|
@@ -123,6 +123,8 @@ during the execution of the job will contain this information as well.
|
|
123
123
|
|
124
124
|
```ruby
|
125
125
|
class TestWorker
|
126
|
+
include Sidekiq::Worker
|
127
|
+
|
126
128
|
def perform(customer_id)
|
127
129
|
logger.warn 'Customer not found'
|
128
130
|
end
|
@@ -145,6 +147,7 @@ as well. For this reason, Ezlog turns off [Rack::Timeout](https://github.com/her
|
|
145
147
|
|
146
148
|
Ezlog comes with built-in support for testing your logging activity using [RSpec](https://rspec.info/).
|
147
149
|
To enable spec support for Ezlog, put this line in your `spec_helper.rb` or `rails_helper.rb`:
|
150
|
+
|
148
151
|
```ruby
|
149
152
|
require "ezlog/rspec"
|
150
153
|
```
|
data/lib/ezlog/railtie.rb
CHANGED
@@ -1,9 +1,8 @@
|
|
1
1
|
module Ezlog
|
2
2
|
class Railtie < Rails::Railtie
|
3
3
|
initializer 'ezlog.configure_logging' do |app|
|
4
|
-
::Logging.logger.root.appenders = ::Logging.appenders.stdout 'stdout',
|
5
|
-
|
6
|
-
level: app.config.log_level
|
4
|
+
::Logging.logger.root.appenders = ::Logging.appenders.stdout 'stdout', layout: Ezlog::LoggingLayout.new(environment: ::Rails.env)
|
5
|
+
::Logging.logger.root.level = app.config.log_level
|
7
6
|
end
|
8
7
|
|
9
8
|
initializer 'ezlog.configure_sidekiq_logging' do
|
@@ -34,7 +33,7 @@ module Ezlog
|
|
34
33
|
private
|
35
34
|
|
36
35
|
def initialize_sidekiq_logging
|
37
|
-
::Sidekiq.logger =
|
36
|
+
::Sidekiq.logger = Ezlog.logger('Sidekiq')
|
38
37
|
::Sidekiq.logger.level = :info
|
39
38
|
::Sidekiq.configure_server do |config|
|
40
39
|
config.options[:job_logger] = Ezlog::Sidekiq::JobLogger
|
@@ -7,12 +7,14 @@ module Ezlog
|
|
7
7
|
|
8
8
|
def call(job_hash, _queue)
|
9
9
|
within_log_context(JobContext.from_job_hash(job_hash)) do
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
10
|
+
begin
|
11
|
+
logger.info "#{job_hash['class']} started"
|
12
|
+
benchmark { yield }
|
13
|
+
logger.info message: "#{job_hash['class']} finished"
|
14
|
+
rescue Exception
|
15
|
+
logger.info message: "#{job_hash['class']} failed"
|
16
|
+
raise
|
17
|
+
end
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
data/lib/ezlog/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ezlog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zoltan Ormandi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logging
|
@@ -150,7 +150,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
150
|
- !ruby/object:Gem::Version
|
151
151
|
version: '0'
|
152
152
|
requirements: []
|
153
|
-
|
153
|
+
rubyforge_project:
|
154
|
+
rubygems_version: 2.6.13
|
154
155
|
signing_key:
|
155
156
|
specification_version: 4
|
156
157
|
summary: A zero-configuration logging solution for projects using Sidekiq, Rails,
|