Potrzebuję unikalnego identyfikatora żądania dla mojego loggera, dzięki czemu mogę śledzić każde żądanie w pliku dziennika.Jak wygenerować unikalny identyfikator żądania w Railsach?
Do tej pory mam to
REQUEST_ID = Digest::MD5.hexdigest(Time.now.to_f.to_s + $PID.to_s)
Problem polega na tym, że nie wiem gdzie umieścić ten. Próbowałem umieścić go wewnątrz mojego niestandardowego pliku rejestratora, poza klasą. Ale to musi być buforowane lub coś, ponieważ zawsze otrzymuję ten sam skrót.
Wszelkie pomysły?
Uwaga. Używam szyn 3 i pasażer autonomiczny
UPDATE:
Rails 3.2: tag UUID nie będzie działać. Zobacz, jak źle sformatowane są dzienniki:
[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)
W produkcji będzie to bałagan. Zwróć uwagę na znaki nowej linii po pierwszym wierszu? Teraz wyobraź sobie, jak wyglądałyby logi na serwerze obsługującym wiele żądań na sekundę. Trudno będzie powiązać prośbę z URI
HappyDeveloper, @SergioTulentsev przybity go! Usuwam odpowiedź; proszę, zaakceptuj jego. –