Log4J échoue pour nous généralement après quelques heures d'utilisation dans notre environnement de servlet (tomcat 7.0.26 fonctionnant sous CentOS 5.5 avec Java 1.6u31). Après que cette erreur se produit, aucune autre connexion ne se produit jusqu'à ce que Tomcat soit redémarré. Une autre chose vraiment étrange est que parfois les requêtes de journalisation sont envoyées aux JSP qui sont servies. Il y aura environ 10 lignes de journalisation, puis la page HTML ci-dessous. Nous utilisons le dernier pot log4j.Erreur log4j - Échec du vidage de l'enregistreur dans la servlet (java.io.IOException: mauvais descripteur de fichier)
Ces journaux proviennent de catalina.out. Nos journaux spécifiques à l'application s'arrêtent juste.
log4j:ERROR Failed to flush writer,
java.io.IOException: Bad file descriptor
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at org.apache.log4j.helpers.QuietWriter.flush(QuietWriter.java:59)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:324)
at org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:276)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.info(Category.java:666)
...
log4j:ERROR Could not close [email protected]
java.io.IOException: Bad file descriptor
at java.io.FileOutputStream.close0(Native Method)
at java.io.FileOutputStream.close(Unknown Source)
at sun.nio.cs.StreamEncoder.implClose(Unknown Source)
at sun.nio.cs.StreamEncoder.close(Unknown Source)
at java.io.OutputStreamWriter.close(Unknown Source)
at java.io.FilterWriter.close(Unknown Source)
Juste une supposition ... il reste de l'espace sur le disque? –
Oui, il y a beaucoup d'espace disque. – Josh
S'agit-il d'un système d'exploitation basé sur Unix? – Sean