Bonjour,

Je souhaite, en plus de la configuration classique, que tous mes messages "FATAL" prennent une voie supplémentaire. En l'occurrence un mail à l'administrateur.

MAIS, je souhaite aussi que seuls les FATAL prennent ce chemin, alors que le reste sera enregistré en fichier.

Note: je pense que ce que je souhaite n'est pas possible, et qu'il me faudra plusieurs logger dans mon code. Cependant, si quelqu'un a une idée...

J'ai essayé la configuration suivante:
( exemple en console, ce ne sont que des tests )
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
<?xml version="1.0" encoding="utf-8"?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <!-- Output the log message to system console.
    -->
  <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="Dans un fichier : %-5p %c{1} - %m%n"/>
    </layout>
  </appender>
 
  <appender name="FatalConsoleAppender" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="Par mail : %-5p %c{1} - %m%n"/>
    </layout>
  </appender>
 
  <root>
    <priority value="fatal" />
    <appender-ref ref="FatalConsoleAppender"/>
  </root>
 
  <category name="com.entreprise.logiciel" >
    <priority value ="trace" />
    <appender-ref ref="ConsoleAppender"/>
  </category>
 
</log4j:configuration>
J'obtiens, et c'est normal, mais ce n'est pas ce que je souhaite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Dans un fichier : TRACE essai_log4cxx - entree dans la fonction main
Par mail : TRACE essai_log4cxx - entree dans la fonction main
Dans un fichier : INFO  essai_log4cxx - dans la fonction
Par mail : INFO  essai_log4cxx - dans la fonction
Dans un fichier : FATAL essai_log4cxx - une erreur violente
Par mail : FATAL essai_log4cxx - une erreur violente
Alors que je voudrais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Dans un fichier : TRACE essai_log4cxx - entree dans la fonction main
Dans un fichier : INFO  essai_log4cxx - dans la fonction
Dans un fichier : FATAL essai_log4cxx - une erreur violente
Par mail : FATAL essai_log4cxx - une erreur violente