Skip to content

Commit 529b5b0

Browse files
authored
Formatting the log using parameter progname for the logger (#1606)
1 parent b7b2bc1 commit 529b5b0

2 files changed

Lines changed: 26 additions & 6 deletions

File tree

lib/faraday/logging/formatter.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ def initialize(logger:, options:)
2323
def_delegators :@logger, :debug, :info, :warn, :error, :fatal
2424

2525
def request(env)
26-
public_send(log_level, 'request') do
27-
"#{env.method.upcase} #{apply_filters(env.url.to_s)}"
26+
public_send(log_level) do
27+
"request: #{env.method.upcase} #{apply_filters(env.url.to_s)}"
2828
end
2929

3030
log_headers('request', env.request_headers) if log_headers?(:request)
3131
log_body('request', env[:body]) if env[:body] && log_body?(:request)
3232
end
3333

3434
def response(env)
35-
public_send(log_level, 'response') { "Status #{env.status}" }
35+
public_send(log_level) { "response: Status #{env.status}" }
3636

3737
log_headers('response', env.response_headers) if log_headers?(:response)
3838
log_body('response', env[:body]) if env[:body] && log_body?(:response)
@@ -41,7 +41,7 @@ def response(env)
4141
def exception(exc)
4242
return unless log_errors?
4343

44-
public_send(log_level, 'error') { exc.full_message }
44+
public_send(log_level) { "error: #{exc.full_message}" }
4545

4646
log_headers('error', exc.response_headers) if exc.respond_to?(:response_headers) && log_headers?(:error)
4747
return unless exc.respond_to?(:response_body) && exc.response_body && log_body?(:error)
@@ -107,11 +107,11 @@ def log_level
107107
end
108108

109109
def log_headers(type, headers)
110-
public_send(log_level, type) { apply_filters(dump_headers(headers)) }
110+
public_send(log_level) { "#{type}: #{apply_filters(dump_headers(headers))}" }
111111
end
112112

113113
def log_body(type, body)
114-
public_send(log_level, type) { apply_filters(dump_body(body)) }
114+
public_send(log_level) { "#{type}: #{apply_filters(dump_body(body))}" }
115115
end
116116
end
117117
end

spec/faraday/response/logger_spec.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,26 @@
5555
end
5656
end
5757

58+
context 'when logger with program name' do
59+
let(:logger) { Logger.new(string_io, progname: 'my_best_program') }
60+
61+
it 'logs with program name' do
62+
conn.get '/hello'
63+
64+
expect(string_io.string).to match('-- my_best_program: request:')
65+
expect(string_io.string).to match('-- my_best_program: response:')
66+
end
67+
end
68+
69+
context 'when logger without program name' do
70+
it 'logs without program name' do
71+
conn.get '/hello'
72+
73+
expect(string_io.string).to match('-- : request:')
74+
expect(string_io.string).to match('-- : response:')
75+
end
76+
end
77+
5878
context 'with default formatter' do
5979
let(:formatter) { instance_double(Faraday::Logging::Formatter, request: true, response: true, filter: []) }
6080

0 commit comments

Comments
 (0)