2014-05-11 24 views
16

Ho abilitato i registri di accesso di tomcat secondo la documentazione di riferimento di avvio a molla. Ma non funziona correttamente. Quando l'ho abilitato, il file di log di accesso è stato creato e posso vedere le richieste di essere loggato lì per quel giorno. Ma all'inizio del giorno dopo non vedo nessun nuovo file. Ha iniziato la registrazione alle 21:00. Terzo giorno ha iniziato la registrazione da 02hrs. Dal 4 ° giorno non sono stati creati registri di accesso.Log di accesso tomcat di avvio a molla

Ecco le proprietà che ho utilizzato.

server.tomcat.access-log-enabled=true 
server.tomcat.access-log-pattern=%h %l %u %t "%r" %s %b %D 
server.tomcat.basedir=/var/lib/org_name/tracking_server 

sotto registri delle cartelle tracking_server e cartella di lavoro ma ho creato.

Per favore fatemi sapere se mi manca qualcosa. La registrazione regolare funziona perfettamente secondo la configurazione specificata in logback.xml

Grazie per il vostro aiuto in anticipo.

+0

Lavori per me. Vedi anche [qui] (https://github.com/spring-io/sagan/blob/master/sagan-site/src/main/resources/application.yml#L93) per un'app che funziona 24x7 e fino a So che ha sempre i log di accesso. Forse nessuno ha usato il tuo nei tempi in cui non stava registrando? –

+1

Dal 4 ° giorno in poi i registri di accesso entrano nella cartella /tmp/tomcat..8081/logs. 8081 è la nostra porta di gestione. – user3626166

+0

un'altra osservazione è log di accesso tra 00 e 21 ore in 2 giorni e log di accesso da 00hrs a 02hrs il 3 ° giorno è in /tmp/tomcat..8081 cartella. Non capisco perché Spring stia registrando le richieste nella cartella della porta di gestione. – user3626166

risposta

11

Questa configurazione funziona per me nella versione di avvio 1.2.3.RELEASE. Tuttavia, se avete la versione corrente di avvio di primavera, quei parametri sono un po 'diverso, reference here:

server.tomcat.accesslog.directory=logs # Directory in which log files are created. Can be relative to the tomcat base dir or absolute. 
server.tomcat.accesslog.enabled=false # Enable access log. 
server.tomcat.accesslog.pattern=common # Format pattern for access logs. 

Come si nota, la differenza è il trattino (-).

Inoltre, la configurazione di Tomcat log di accesso includono i seguenti parametri, in base alle this document:

  • fileDateFormat. Il valore predefinito è aaaa-MM-gg. Significa che il file di registro cambierà giornalmente. Se cambi per yyyy-MM-dd.HH, il registro cambierà ogni ora.
  • ruotabile. Il valore predefinito è true. Se si imposta su false, ho capito che avrà solo un file. non usa il parametro fileDateFormat.

Tuttavia, nella mia versione di avvio molla (1.2.3.RELEASE) le org.springframework.boot.autoconfigure.web.ServerProperties classe non ci sono valori per modificare queste proprietà (Tomcat sottoclasse). Ma se si controlla org.apache.catalina.valves.AccessLogValve si potrebbe cambiare gli annunci di questo:

/** 
* Should we rotate our log file? Default is true (like old behavior) 
*/ 
protected boolean rotatable = true; 

/** 
* Date format to place in log file name. 
*/ 
protected String fileDateFormat = ".yyyy-MM-dd"; 

So che forse si dovrebbe giocare con questi parametri. Spero che questo post aiuti a risolvere il tuo problema.

Problemi correlati