Evitare la logging di alcuni file mancanti nel log degli errori Apache2

Vorrei evitare di registrare alcuni file mancanti (che danno un 404) nel log degli errori di Apache2.

Voglio farlo su un sito di aggiornamento di Eclipse per il mio plugin. Il problema è che il codice Eclipse P2 tenta di accedere ai suoi file di metadati come content.xml, content.jar, digest.zip e alcuni altri, che non sono disponibili sul mio sito. Quando P2 trova questo, finalmente raggiunge per site.xml, che fornisco. Tutto sumto, tutto funziona bene … ma ho tonnellate di linee come:

  • Come posso installare PHP 5.3 su CentOS?
  • Possibilità di inoltrare registri per i prodotti Microsoft
  • Apache come proxy inverso per GitLab Omnibus
  • MaxClients in apache. Come conoscere le size del mio process?
  • clone (2) ritardo di 30 secondi in apache
  • AWS Cloudwatch Agent non preleva i cambiamenti
  • [Mon Jul 06 21:46:46 2009] [error] [client 195.91.79.90] File does not exist: ...htdocs/stable/content.jar 

    nel mio file error.log, che non mi aiuta molto.

    Una soluzione che mi viene in mente è quella di lasciare che Apache entri tramite grep (tramite il pipe-logging), ma sto cercando una soluzione migliore.

    Stavo pensando a tagliare queste richieste con la direttiva SetEnvIf e ignorando il log degli errori per le richieste taggate, ma la direttiva ErrorLog non lo support.

    Qualche altra idea?

  • il certificato del server non corrispondeva ai suoi domini di dominio host sullo stesso server
  • Fare logrotate rimuovere i vecchi registri dopo aver ridotto il valore 'ruotare'
  • MaxClients in apache. Come conoscere le size del mio process?
  • L'authentication SVN su Apache (DAV) e Redmine non funziona
  • PHP APC Accelerator interrompe completamente Apache2 su Windows?
  • Apache, SVN e Active Directory: come evitare la configuration duplicata?
  • 3 Solutions collect form web for “Evitare la logging di alcuni file mancanti nel log degli errori Apache2”

    Ho trovato una soluzione che funziona per me. Ho aggiunto queste righe a .htaccess:

     # Don't log missing files RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(artifacts\.jar|content\.xml|content\.jar)$ - [R=404,L] 

    Utilizza mod_rewrite. R = 404 dice di submit il codice di stato 404 non trovato quando il client accede a uno qualsiasi dei file menzionati.

    RewriteCode è presente per assicurarsi che il file in realtà non esista. Se ho mai messo uno di quei file nella directory, sarà servito come al solito.

    Questo funziona ottimamente: i file menzionati non sono più collegati a error.log (che era il mio objective), ma sono ancora registrati nel registro di accesso (con lo stato 404).

    È ansible effettuare la logging condizionale usando mod_log_config

    Ciò consente di utilizzare le variables di ambiente.

    Esempio qui per non registrare le richieste di immagini.

    Non sarebbe stato più facile aumentare il tuo LogLevel più alto di un errore per avvertire o crit? O hai un motivo per mantenerlo più basso?

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.