This repository was archived by the owner on Jul 17, 2023. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1313spec /reports
1414tmp
1515.byebug_history
16+ Gemfile.lock
Original file line number Diff line number Diff line change @@ -37,7 +37,6 @@ That's it now Delayed job logs should show the *X-Request-Id* from the http requ
3737RequestHeadersLogger .configure do |config |
3838 config[:logger_format ] = ' json' # Options [text json] default: text
3939 config[:tag_format ] = ' key_val' # Options: [val key_val] default: val
40- config[:loggers ] << MessageQueue .logger # List of all loggers used.
4140end
4241```
4342
Original file line number Diff line number Diff line change 66require 'request_headers_logger/text_formatter'
77require 'request_headers_logger/delayed_job/delayed_job'
88require 'request_headers_logger/message_queue/message_queue'
9+ require 'request_headers_logger/railtie' if defined? ( Rails )
910
1011module RequestHeadersLogger # :nodoc:
1112 extend self
@@ -34,19 +35,13 @@ def loggers
3435 @configuration [ :loggers ]
3536 end
3637
37- def prepare_loggers
38- loggers . each do |logger |
39- logger_formatter logger
40- end
41- end
42-
43- private
44-
4538 def logger_formatter ( logger )
4639 logger . formatter ||= Logger ::Formatter . new
4740 logger . formatter . extend formatter_class
4841 end
4942
43+ private
44+
5045 def formatter_class
5146 RequestHeadersLogger . const_get ( "#{ log_format . capitalize } Formatter" )
5247 end
Original file line number Diff line number Diff line change @@ -10,7 +10,6 @@ def initialize(key)
1010
1111 CONFIG_KEYS = [
1212 :log_format , # [logger_format] default or json
13- :loggers , # [Loggers] List of all loggers used.
1413 :tag_format , # [tag_format]
1514 ] . freeze
1615
@@ -20,7 +19,6 @@ def initialize(key)
2019 def initialize
2120 @configs = {
2221 log_format : LOG_FORMATS . first ,
23- loggers : [ ] ,
2422 tag_format : TAG_FORMATS . first
2523 }
2624 end
Original file line number Diff line number Diff line change @@ -13,23 +13,12 @@ class RequestHeadersDelayedPlugin < Delayed::Plugin
1313
1414 lifecycle . before ( :perform ) do |worker , job |
1515 RequestHeadersMiddleware . store = job . payload_object . instance_variable_get ( :@store )
16- set_dj_loggers
1716 end
1817
1918 lifecycle . after ( :perform ) do |worker , job |
2019 RequestHeadersMiddleware . store = { }
2120 end
2221 end
23-
24- def self . set_dj_loggers
25- RequestHeadersLogger . configure do |config |
26- loggers = [ Delayed ::Worker . logger ]
27- loggers << ::Rails . logger
28-
29- config [ :loggers ] . push ( loggers ) . flatten! . uniq!
30- end
31- RequestHeadersLogger . prepare_loggers
32- end
3322 end
3423end
3524
Original file line number Diff line number Diff line change @@ -24,21 +24,12 @@ def symbolize(obj = {})
2424 lifecycle . before ( :consume ) do |delivery_info , properties , payload |
2525 store = symbolize ( properties . headers ) &.dig ( :store ) || { }
2626 RequestHeadersMiddleware . store = store
27-
28- set_mq_loggers
2927 end
3028
3129 lifecycle . after ( :consume ) do |delivery_info , properties , payload |
3230 RequestHeadersMiddleware . store = { }
3331 end
3432 end
35-
36- def self . set_mq_loggers
37- RequestHeadersLogger . configure do |config |
38- config [ :loggers ] << MessageQueue . logger
39- end
40- RequestHeadersLogger . prepare_loggers
41- end
4233 end
4334end
4435
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ module RequestHeadersLogger
4+ class Railtie < ::Rails ::Railtie
5+ config . after_initialize do
6+ RequestHeadersLogger . logger_formatter ( MessageQueue . logger ) if defined? ( MessageQueue )
7+ if defined? ( Delayed )
8+ RequestHeadersLogger . logger_formatter ( Delayed ::Worker . logger )
9+ RequestHeadersLogger . logger_formatter ( Rails . logger )
10+ end
11+ end
12+ end
13+ end
Original file line number Diff line number Diff line change @@ -7,11 +7,22 @@ module TextFormatter
77 def call ( severity , time , progname , msg )
88 format ( ::Logger ::Formatter ::Format ,
99 severity_name ( severity ) [ 0 ] ,
10- format_datetime ( time ) ,
10+ format_time ( time ) ,
1111 $PID,
1212 severity_name ( severity ) ,
1313 progname ,
14- msg2str ( "#{ tags_text } #{ msg } " ) )
14+ "#{ tags_text } #{ to_string ( msg ) } " )
15+ end
16+
17+ def format_time ( time )
18+ return format_datetime ( time ) if respond_to? :format_datetime
19+ time . strftime ( @datetime_format || '%Y-%m-%dT%H:%M:%S.%6N ' )
20+ end
21+
22+ def to_string ( msg )
23+ return msg2str ( msg ) if respond_to? :format_datetime
24+ return msg . inspect unless msg . is_a? String
25+ msg
1526 end
1627
1728 def severity_name ( severity )
Original file line number Diff line number Diff line change 11# frozen_string_literal: true
22
33module RequestHeadersLogger
4- VERSION = '0 .0.4 '
4+ VERSION = '1 .0.0 '
55end
Original file line number Diff line number Diff line change 4141 it 'return text as default for log_format' do
4242 expect ( config [ :log_format ] ) . to eq ( 'text' )
4343 end
44-
45- it 'return empty array as default for loggers' do
46- expect ( config [ :loggers ] ) . to eq ( [ ] )
47- end
4844 end
4945
5046 describe '[]=' do
5147 it 'assign valid config keys' do
52- logger = Logger . new ( STDOUT )
53-
5448 config [ :log_format ] = 'json'
55- config [ :loggers ] << logger
5649
5750 expect ( config [ :log_format ] ) . to eq ( 'json' )
58- expect ( config [ :loggers ] . first ) . to eq ( logger )
5951 end
6052
6153 it 'raise an error for invalid configs ' do
You can’t perform that action at this time.
0 commit comments