Ho bisogno di un ID di richiesta univoco per il mio registratore, in modo da poter monitorare ogni richiesta nel file di registro.Come generare un ID di richiesta univoco in Rails?
Finora ho ottenuto questo
REQUEST_ID = Digest::MD5.hexdigest(Time.now.to_f.to_s + $PID.to_s)
Il problema è che non so dove mettere questo. Ho provato a metterlo nel mio file di logger personalizzato, al di fuori della classe. Ma deve essere memorizzato nella cache o qualcosa del genere perché ottengo sempre lo stesso hash.
Qualche idea?
note. Sto usando Rails 3 e standalone passeggeri
UPDATE:
Rails 3.2: tag uuid non funzionerà. Guarda quanto sono mal formattati i registri:
[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)
Nella produzione questo sarà un disastro. Notare le nuove righe dopo la prima riga? Ora immagina come sarebbero i log in un server che gestisce molte richieste al secondo. Sarà difficile associare una richiesta con un URI
HappyDeveloper, @SergioTulentsev inchiodato! Sto cancellando la mia risposta; per favore accetta il suo –