Bonjour à tous,

j'ai une application qui me génère une erreur suivante dans les logs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
java.lang.StackOverflowError
	at sun.nio.cs.UTF_8.updatePositions(UTF_8.java:58)
	at sun.nio.cs.UTF_8$Decoder.xflow(UTF_8.java:165)
	at sun.nio.cs.UTF_8$Decoder.decodeArrayLoop(UTF_8.java:241)
	at sun.nio.cs.UTF_8$Decoder.decodeLoop(UTF_8.java:305)
	at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:544)
	at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:140)
	at java.lang.StringCoding.decode(StringCoding.java:173)
	at java.lang.String.<init>(String.java:443)
	at java.lang.String.<init>(String.java:515)
	at java.io.FileOutputStream.writeBytes(Native Method)
	at java.io.FileOutputStream.write(FileOutputStream.java:260)
	at util.log.RolloverFileHandler.writeToFile(RolloverFileHandler.java:129)
	at util.log.TeePrintStream.write(TeePrintStream.java:66)
	at java.io.PrintStream.write(PrintStream.java:430)
	at util.log.TeePrintStream.write(TeePrintStream.java:67)
	at java.io.PrintStream.write(PrintStream.java:430)
	at util.log.TeePrintStream.write(TeePrintStream.java:67)
	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
	at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85)
	at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168)
	at java.io.PrintStream.write(PrintStream.java:477)
	at java.io.PrintStream.print(PrintStream.java:619)
	at java.io.PrintStream.println(PrintStream.java:773)
	at java.lang.Throwable.printStackTrace(Throwable.java:461)
	at java.lang.Throwable.printStackTrace(Throwable.java:451)
	at util.log.RolloverFileHandler.writeToFile(RolloverFileHandler.java:134)
	at util.log.TeePrintStream.write(TeePrintStream.java:66)
	at java.io.PrintStream.write(PrintStream.java:430)
	at util.log.TeePrintStream.write(TeePrintStream.java:67)
	at java.io.PrintStream.write(PrintStream.java:430)
	at util.log.TeePrintStream.write(TeePrintStream.java:67)
	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
	at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85)
	at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168)
	at java.io.PrintStream.write(PrintStream.java:477)
	at java.io.PrintStream.print(PrintStream.java:619)
	at java.io.PrintStream.println(PrintStream.java:773)
	at java.lang.Throwable.printStackTrace(Throwable.java:461)
	at java.lang.Throwable.printStackTrace(Throwable.java:451)
	at util.log.RolloverFileHandler.writeToFile(RolloverFileHandler.java:134)
	at util.log.TeePrintStream.write(TeePrintStream.java:66)
	at java.io.PrintStream.write(PrintStream.java:430)
	at util.log.TeePrintStream.write(TeePrintStream.java:67)
	at java.io.PrintStream.write(PrintStream.java:430)
	at util.log.TeePrintStream.write(TeePrintStream.java:67)
	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
	at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85)
	at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168)
	at java.io.PrintStream.write(PrintStream.java:477)
(et ça continue encore pendant des dizaines et des dizaines de lignes).

Pb : je ne vois nul part dans la trace de l'erreur, l'appel fait à une de mes classes !

L'on me dit que c'est probablement un problème de tracage des logs (en gros, il y en aurait trop). Je suis assez surpris, car c'est la première fois que je vois cette erreur.
Voici les caractéristiques de sauvegarde des logs (fichier "log4j.xml") :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
	<appender name="rol" class="org.apache.log4j.RollingFileAppender">
		<param name="file" value="C:/Temp/integrationserver.log" />
		<param name="MaxFileSize" value="20000KB" />
		<!-- Keep one backup file -->
		<param name="MaxBackupIndex" value="5" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{dd MMM HH:mm:ss} %p %t %c - %m%n" />
		</layout>
	</appender>
 
	<appender name="riskComputeFile" class="org.apache.log4j.RollingFileAppender">
		<param name="file" value="C:/Temp/integration-risk-compute.log" />
		<param name="MaxFileSize" value="2MB" />
		<!-- Keep one backup file -->
		<param name="MaxBackupIndex" value="4" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{dd MMM HH:mm:ss} %p [%c{5}] - %m%n" />
		</layout>
	</appender>
 
	<logger name="com.maboite" additivity="false">
		<level value="INFO" />
		<appender-ref ref="rol" />
	</logger>
 
	<logger name="com.maboite.integration" additivity="false">
		<level value="INFO" />
		<appender-ref ref="rol" />
	</logger>
 
	<logger name="com.maboite.integration.riskcomputer" additivity="false">
		<level value="INFO" />
		<appender-ref ref="riskComputeFile" />
		<appender-ref ref="rol" />
	</logger>
Bref, on affiche essentiellement des "INFO" et on n'affiche pas des "INFO" à chaque ligne de code ... alors d'où pourrait venir le problème ?

Si vous avez des idées d'investiguation, je suis preneur.

Merci d'avance,

Très cordialement,