"Pannello di controllo del log" per debug

Ciao a tutti.

Stavo cercando un modo semplice per dire al mio log inidipendentemente
da dove ci si trovi (vista, modello, controller) di abilitare o
disabilitare la scrittura nel log per la sezione (vista, modello,
controller) corrente, se volete, una specie di “pannello di controllo”
di log.
In pratica ho creato un file che ho inserito in config/initializers/ che
contiene dei flag (costanti) settati a true o a false.
Ovviamente ho un flag per ogni sezione.
Quando mi trovo nella “zona d’interesse” (modello/vista/controller)
controllo la scrittura nel log tramite:

MYLOG.info( quello che devo debuggare ) if flag = true

dove flag é la costante (settata a true o false) all’interno del file
che avevo posto in config/initializers/

la cosa scomoda é che per “cambiare di stato” un flag devo riavviare il
server.

Esiste un modo per fare qualcosa di analogo che sia valido per
modelli/viste/controller senza dover essere costretti a riavviare il
server?

Grazie a tutte le persone che risponderanno.

Ciao

Esiste un modo per fare qualcosa di analogo che sia valido per
modelli/viste/controller senza dover essere costretti a riavviare il
server?

Potresti creare una tabella in cui tieni le “configurazioni” del sito,
così ad ogni request leggi la configurazione e decidi se loggare o no.

Il 26 novembre 2009 11.56, pezzuya … [email protected] ha
scritto:

dove flag é la costante (settata a true o false) all’interno del file
che avevo posto in config/initializers/

la cosa scomoda é che per “cambiare di stato” un flag devo riavviare il
server.

Esiste un modo per fare qualcosa di analogo che sia valido per
modelli/viste/controller senza dover essere costretti a riavviare il
server?

Sì, non usare initializers :slight_smile:

Puoi usare una tabella, come propone Andrea, o anche un file (non
ruby), però devi leggerlo tu ogni volta…

Altrimenti, se si tratta solo di un vero/falso e nient’altro, potresti
anche fare:

MYLOG.info( quello che devo debuggare ) if
File.exists?(“#{RAILS_ROOT}/logga”)

e poi creare o cancellare un file vuoto; un po’ grezzo, ma abbastanza
veloce.

pietro