我按以下方式创建记录器:
Logging.color_scheme( 'bright', :levels => { :info => :green, :warn => :yellow, :error => :red, :fatal => [:white, :on_red] }, :date => :blue, :logger => :cyan, :message => :magenta ) @logger = Logging.logger['main_logger'] @logger.add_appenders( Logging.appenders.stdout, Logging.appenders.file('file', :filename => LOG_FILE_PATH, :layout => Logging.layouts.pattern(:pattern => '[%d] %-5l %c: %m\n') ) )
我想将线程id添加到每条日志消息(Thread.current.object_id),有没有办法可以做到这一点?
您必须使用映射的诊断上下文'mdc'(请参阅https://github.com/TwP/logging/blob/master/examples/mdc.rb)
这是我做的:
Logging.appenders.stdout( 'stdout', :layout => Logging.layouts.pattern( :pattern => '%d %-5l [%X{tid}]: %m\n', :date_pattern => "%d/%m/%Y %H:%M:%S", :color_scheme => 'bright' ), )
并在您的主题中,指示潮汐字段的值,如下所示:
Logging.mdc['tid'] = Thread.current.object_id