Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使log_标记显示在所有行上,而不仅仅是堆栈跟踪上?_Ruby On Rails_Ruby_Logging - Fatal编程技术网

Ruby on rails 如何使log_标记显示在所有行上,而不仅仅是堆栈跟踪上?

Ruby on rails 如何使log_标记显示在所有行上,而不仅仅是堆栈跟踪上?,ruby-on-rails,ruby,logging,Ruby On Rails,Ruby,Logging,我定义了一个自定义记录器,MyLogger,并将其配置为将当前用户的ID添加到日志中: #config/application.rb config.logger=MyLogger.new(“log/#{Rails.env}.log”) config.log_标记=[ ->请求{“user-{request.cookie\u jar.signed[:user\u id]}” ] 但是,user-标记仅添加到堆栈跟踪,而不是添加到每个日志消息: 。。。 [2020-10-0513:43:36-04

我定义了一个自定义记录器,
MyLogger
,并将其配置为将当前用户的ID添加到日志中:

#config/application.rb
config.logger=MyLogger.new(“log/#{Rails.env}.log”)
config.log_标记=[
->请求{“user-{request.cookie\u jar.signed[:user\u id]}”
]
但是,
user-
标记仅添加到堆栈跟踪,而不是添加到每个日志消息:

。。。
[2020-10-0513:43:36-0400]信息:在11ms内完成200次OK(视图:0.3ms |活动记录:2.2ms |分配:4801)
[2020-10-05 13:43:47-0400]信息:在2020-10-05 13:43:47-0400开始获取127.0.0.1的“/notifications/1”
...
[2020-10-05 13:43:47-0400]信息:在85毫秒内完成500个内部服务器错误(ActiveRecord:48.3毫秒|分配:14080)
[2020-10-0513:43:47-0400]致命:
[user-1]标准错误(StandardError):
[用户-1]
[user-1]app/controllers/notifications\u controller.rb:15:in'show'
[user-1]app/controllers/application\u controller.rb:146:在“设置时区”中
如何使
[user ID]
标记显示在每一行上?

以下是
MyLogger
,供参考:

class MyLogger