Improve reasoning of log lines in threaded processes.
This commit is contained in:
parent
f1dfbafdcd
commit
87b49f402a
1 changed files with 20 additions and 0 deletions
20
lib/core_ext/logger/formatter.rb
Normal file
20
lib/core_ext/logger/formatter.rb
Normal file
|
@ -0,0 +1,20 @@
|
|||
# This customization adds the id of the current Thread to all log lines.
|
||||
# It was introduced to make it more easy to follow the execution of tasks in the log in threaded processes.
|
||||
#
|
||||
# before:
|
||||
# D, [2018-11-20T16:35:03.483547 #72102] DEBUG -- : (0.5ms) SELECT COUNT(*) FROM "delayed_jobs"
|
||||
#
|
||||
# after:
|
||||
# D, [2018-11-20T16:35:03.483547 #72102-23423534] DEBUG -- : (0.5ms) SELECT COUNT(*) FROM "delayed_jobs"
|
||||
|
||||
class Logger
|
||||
class Formatter
|
||||
|
||||
# original: Format = "%s, [%s#%d] %5s -- %s: %s\n".freeze
|
||||
FORMAT_WITH_THREAD_ID = "%s, [%s#%d-%d] %5s -- %s: %s\n".freeze
|
||||
|
||||
def call(severity, time, progname, msg)
|
||||
format(FORMAT_WITH_THREAD_ID, severity[0..0], format_datetime(time), Process.pid, Thread.current.object_id, severity, progname, msg2str(msg))
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue