Development.log - disabilitazione


#1

Salve,
mi sapreste dire come disabilitare la scrittura del file development.log
pu rimanendo in modalità development.

Ho già provato la prcedura di inserimento nel file environment.rb della
stringa:

config.log_level = :info

ma non funge.

Ho letto in internet che forse dipende dal fatto che l’applicazione gira
su Mongrel.

Qualcuno mi sa aiutare?

Grazie

Luigi


#2

Non so se c’è qualche configurazione, ma non mi pare. Eventualmente
dovrai ridefinire il comportamento dei metodi del logger. Guarda

module ActiveSupport
class BufferedLogger
def add(severity, message = nil, progname = nil, &block)
end
end
end

o anche

module ActionController
class Base
private
def log_processing
end
end
end

Sembra difficile ma si tratta di copiarli in development.rb e
modificarli, anzi poiché non vuoi log forse il codice qui sopra è giÃ
tutto quel che serve (non ricordo se hanno dei return value). Magari
basta solo svuotare il secondo.

Paolo

Luigi M. wrote:

Salve,
mi sapreste dire come disabilitare la scrittura del file development.log
pu rimanendo in modalità development.

Ho già provato la prcedura di inserimento nel file environment.rb della
stringa:

config.log_level = :info

ma non funge.

Ho letto in internet che forse dipende dal fatto che l’applicazione gira
su Mongrel.

Qualcuno mi sa aiutare?

Grazie

Luigi


#3

Per quale motivo dovresti disabilitare i log?

Q


#4

Perché vorrei , o meglio devo per il momento, mantenere l’applicazione
in modalità sviluppo e scaricare il server delle operazioni di log.
Il file infatti diventa molto grande piuttosto velocemente e penso che
impegni, la sua scrittura, delle risorse o sbaglio?

Grazie

Luigi


#5

Allora prima di tutto non loggare è semplicemente assurda come cosa :]

Detto ciò, se sviluppi non lo fai sul server ma in locale, sul server
l’ applicazione dovrebbe girare in production, questo appunto per
ottimizzare risorse e via dicendo.
Tuttavia sia in modalità development che production
rails(fortunatamente) continua a generare log.

Il file si diventa grande ma basta elimiralo :]

Se la cosa ti da particolari problemi puoi automatizzare il tutto con
cron
http://en.wikipedia.org/wiki/Cron

Cmq sul serio, non loggare è una cosa insensata, senza log la vedo
parecchio dure a sviluppare.

Q


#6

Il fatto è che io il development.log non l’ho mai usato eppure
l’applicazione che ho fatto penso sia un bel lavoretto
(software-windows.net).

Al cronjob non ci avevo pensato ed è già un ottima idea.

Però dato che il log non lo uso lo volevo proprio disabilitare perché
penso che cmq impegni risorse.

Purtroppo non posso mettere l’applicazione in production perché ho
ancora degli url dinamici che devo trovare il tempo di sistemare.

Le richieste più gravose, caricamento di immagini, le ho già cachizzate.

Per concludere avrei voluto disabilitare il log.

Grazie mille

Luigi


#7

Andrea C. wrote:

Allora prima di tutto non loggare � semplicemente assurda come cosa :]

Detto ci�, se sviluppi non lo fai sul server ma in locale, sul server
l’ applicazione dovrebbe girare in production, questo appunto per
ottimizzare risorse e via dicendo.
Tuttavia sia in modalit� development che production
rails(fortunatamente) continua a generare log.

Il file si diventa grande ma basta elimiralo :]

Se la cosa ti da particolari problemi puoi automatizzare il tutto con
cron
http://en.wikipedia.org/wiki/Cron

Cmq sul serio, non loggare � una cosa insensata, senza log la vedo
parecchio dure a sviluppare.

Q

sono d’accordo, piuttosto che non loggare perchè non implementi una
logica di compressione dei log (come fanno tutti i syslog) tipo ogni
settimana prendi il log e lo gzippi in automatico così diventa piccolo e
se ti serve è lì a disposizione


#8

proprio oggi ho letto questo articolo riguardante log rotation
direttamente in rails senza usare cron
http://marklunds.com/articles/one/410
spero sia utile, non l’ho ancora provato

.Stefano

Andrea (Q) ha detto: in data 1-04-2009 17:33:


#9

On 1 Apr 2009, at 17:19, Luigi M. wrote:

Il fatto è che io il development.log non l’ho mai usato eppure
l’applicazione che ho fatto penso sia un bel lavoretto
(software-windows.net).

mi vengono i brividi a pensarci :]

Al cronjob non ci avevo pensato ed è già un ottima idea.

Però dato che il log non lo uso lo volevo proprio disabilitare perché
penso che cmq impegni risorse.

Purtroppo non posso mettere l’applicazione in production perché ho
ancora degli url dinamici che devo trovare il tempo di sistemare.

che intendi? di solito se hai questo tipo di problemi vuol dire che
stai sbagliando qualche cosa, puoi ovviamente possono capitare
situazioni particolari.


#10

Non vorrei sbagliarmi, del resto finora non ho mai provato a mettere
l’applicazione in production, ma in production tutte le pagine vengono
cachizzate e quindi url del tipo:

sito.net/?category=Antivirus

vengono modificati.

Sbaglio?

Grazie mille

Luigi


#11

Tud wrote:

proprio oggi ho letto questo articolo riguardante log rotation
direttamente in rails senza usare cron
http://marklunds.com/articles/one/410
spero sia utile, non l’ho ancora provato

.Stefano

Andrea (Q) ha detto: in data 1-04-2009 17:33:

Lo provo instantaneamente!


#12

Luigi M. wrote:

Non vorrei sbagliarmi, del resto finora non ho mai provato a mettere
l’applicazione in production, ma in production tutte le pagine vengono
cachizzate e quindi url del tipo:

sito.net/?category=Antivirus

vengono modificati.

Sbaglio?

Grazie mille

Luigi

La produzione funziona esattamente come lo sviluppo, solo che il codice
viene caricato una sola volta e non ad ogni richiesta. Inoltre il
livello di log di default è info e non debug. La cache delle pagine può
essere abilitata oppure no.

I log ti consiglio di tenerli, soprattutto in produzione. Se in sviluppo
volendo ne puoi fare a meno (ma gli errori come li vedi?) quando hai un
errore in produzione (e ne capiteranno) o lo vedi nel log o non lo puoi
sistemare e per certi errori è indispensabile ricostruire la sequenza di
navigazione. Secondo me rails logga persino poco, tant’è che alle righe
che genera gli ho aggiunto un po’ di informazioni per aiutarmi nelle
grep :slight_smile:

A proposito, per la notifica degli errori in produzione guarda Hoptoad.

Paolo


#13

Alessandro S. wrote:

Tud wrote:

proprio oggi ho letto questo articolo riguardante log rotation
direttamente in rails senza usare cron
http://marklunds.com/articles/one/410
spero sia utile, non l’ho ancora provato

.Stefano

Andrea (Q) ha detto: in data 1-04-2009 17:33:

Lo provo instantaneamente!

Funziona, o almeno quasi…

config.logger = Logger.new(config.log_path, 50, 3.megabyte)

in pratica splitta i file di log in file della dimensione passata dl
parametro 3.megabyte che però da errore se usi mongrel_cluster (ora
provo a esplicitare la size) sarebbe meglio se olte a splittare
gunzippasse anche…


#14

Grazie mille per le risposte.
Un ultima domanda, ma su di un server come si fa poi a fare una modifica
al codice se l’applicazione è in production?
e cioè come la si ferma e la si fa ripartire?

Veramente nel mio hosting c’è una sezione dove si può avviare o fermare
l’applicazione ma al momento, secondo quanto vede il pannello suddetto,
l’applicazione è ferma…in realtà sta funzionando perfettamente!
Forse il pannello funziona solo quando l’applicazione è in production?

Grazie

Luigi


#15

Mah…dove lo vedo?

Ciao


#16

Luigi M. wrote:

Grazie mille per le risposte.
Un ultima domanda, ma su di un server come si fa poi a fare una modifica
al codice se l’applicazione è in production?
e cioè come la si ferma e la si fa ripartire?

Veramente nel mio hosting c’è una sezione dove si può avviare o fermare
l’applicazione ma al momento, secondo quanto vede il pannello suddetto,
l’applicazione è ferma…in realtà sta funzionando perfettamente!
Forse il pannello funziona solo quando l’applicazione è in production?

Grazie

Luigi

Sì, dopo aver caricato il nuovo codice bisogna fare il restart di
mongrel. Basta fare un kill -USR2 ai suoi processi o usare strumenti che
ci pensino loro. Che pannello di controllo usa il tuo hosting?

Paolo


#17

Mi ero sbagliato, la stringa

config.log_level = :info

funziona, o meglio non disabilita completamente il log ma lo riduce
sensibilmente infatti ora è diventato circa 1mb in una settimana contro
i 70mb di prima.

Grazie

Luigi