Мне нужен уникальный идентификатор запроса для моего регистратора, поэтому я могу отслеживать каждый запрос в файле журнала.
До сих пор я получил это
REQUEST_ID = Digest::MD5.hexdigest(Time.now.to_f.to_s + $PID.to_s)
Проблема в том, что я не знаю, куда ее поместить. Я попытался помещать его в свой собственный файл журнала, вне класса. Но это должно быть кэширование или что-то, потому что я всегда получаю тот же хеш.
Любые идеи?
примечание. Я использую Rails 3 и автономный пассажирский
UPDATE:
Rails 3.2: тег uuid не будет работать. Посмотрите, как плохо отформатированы журналы:
[0909413851b79676cb06e0842d21c466] [127.0.0.1]
Started HEAD "/" for 127.0.0.1 at Tue Feb 21 14:08:25 -0300 2012
[0909413851b79676cb06e0842d21c466] [127.0.0.1] Processing by PagesController#home as HTML
[0909413851b79676cb06e0842d21c466] [127.0.0.1] bla
[0909413851b79676cb06e0842d21c466] [127.0.0.1] Rendered pages/home.html.erb within layouts/application (2.0ms)
В производстве это будет беспорядок. Обратите внимание на строки новой строки после первой строки? Теперь представьте, как журналы будут выглядеть на сервере, обрабатывая много запросов в секунду. Будет сложно связать запрос с URI