Domanda

Ricevo il seguente errore quando riavvio la mia app Rails. Ho già avuto questo problema, su un altro server con un'altra app, ma non ricordo quale fosse il problema o come l'ho risolto.

Rails Error: Unable to access log file. Please ensure that /apps/staging/releases/20090310162127/log/staging.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.

Sto distribuendo in un cluster ibrido con capistrano su Ubuntu.

Quando faccio ls -l /apps/staging/releases/20090310162127/log/staging.log

il risultato è:

-rw-rw-rw- 1 me grp 51 Mar 10 16:07 /apps/staging/releases/20090310162127/log/staging.log

La directory di registro è un collegamento a / apps / staging / shared / log.

Cosa sta succedendo?

È stato utile?

Soluzione

Si è rivelato essere un bug sottile delle rotaie:

Quando viene sollevata un'eccezione in queste due righe

logger = ActiveSupport::BufferedLogger.new(configuration.log_path)
logger.level = ActiveSupport::BufferedLogger.const_get(configuration.log_level.to_s.upcase)

rotaie presuppone che non sia possibile trovare il file di registro. Tuttavia, l'errore reale si è verificato nella seconda riga: un NameError perché la costante non è corretta. Il motivo è che c'era un livello di log legacy nel mio file di configurazione:

config.log_level = Logger::INFO

Rails 2.2 utilizza il proprio logger e non comprende la riga sopra.

Soluzione: rimuovi la linea o usa:

config.log_level = :info

Altri suggerimenti

Rails funziona come me ? In caso contrario, quale utente esegue? L'utente jail 'è ed? L'utente dispone delle autorizzazioni di attraversamento per tutti i componenti di / apps / staging / shared / log nonché per tutti i componenti di / apps / staging / release / 20090310162127 / log ?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top