# "Pannello di controllo del log" per debug

**URL:** <https://www.ruby-forum.com/t/pannello-di-controllo-del-log-per-debug/179501>\
**Category:** IT\
**Created:** [November 26, 2009, 11:56am UTC](https://www.ruby-forum.com/t/pannello-di-controllo-del-log-per-debug/179501 "2009-11-26T11:56:32Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![pezzuya](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/eada6e/32.png) [@pezzuya](https://www.ruby-forum.com/u/pezzuya)\
**Post date:** [November 26, 2009, 11:56am UTC](https://www.ruby-forum.com/t/pannello-di-controllo-del-log-per-debug/179501/1 "2009-11-26T11:56:32Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![pezzuya](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/eada6e/32.png) [@pezzuya](https://www.ruby-forum.com/u/pezzuya)\
**Post date:** [November 26, 2009, 1:04pm UTC](https://www.ruby-forum.com/t/pannello-di-controllo-del-log-per-debug/179501/2 "2009-11-26T13:04:28Z")

</div>

> 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.

---

<div class="post-metadata">

**Author:** ![pezzuya](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/eada6e/32.png) [@pezzuya](https://www.ruby-forum.com/u/pezzuya)\
**Post date:** [November 26, 2009, 1:13pm UTC](https://www.ruby-forum.com/t/pannello-di-controllo-del-log-per-debug/179501/3 "2009-11-26T13:13:14Z")

</div>

Il 26 novembre 2009 11.56, pezzuya .. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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 🙂

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
