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 bloccare Baidu dall'indexing dei file MP3?
  • Ricerca di methods di backup automatici per i siti
  • come impedire che i registri crontab registrino in syslog?
  • Random Lag in Apache prima di servire i file
  • Apache mod_rewrite non funziona correttamente su Mac OS X 10.6 (Snow Leopard)
  • Analisi e rapporti di registro in tempo reale
  • [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?

  • Come posso ottimizzare Apache per utilizzare 1 GB di RAM sul mio sito web?
  • Sicuro avere mappe /.svn/ sul sito live? (Come rimuoverli ma mantenete la capacità di aggiornamento svn?)
  • Perché le intestazioni di http non sono impostate quando utilizzo proxypass su apache2.2
  • Impedire Apache dall'inverso di proxy alcuni methods HTTP
  • Gli URL riscritti con lunghezza di parametro> 255 non funzionano
  • Posso assegnare un sottodominio a un indirizzo IP?
  • 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.