Dans mon application j'utilise log4j
et ai un my_system.log
où tous les messages devraient être jetés. Le problème que j'ai est que lorsqu'une erreur se produit, elle apparaît également dans server.log
(je ne veux pas que cela se produise).comment ne pas jeter des exceptions à server.log dans java
public String getAccessFlag (String userId, String participantCode, String roleId) {
HashMap parmMap = new HashMap();
parmMap.put("userId", userId.toUpperCase());
parmMap.put("roleId", roleId);
log.info(parmMap);
try {
getSqlMapClientOltp().queryForList("auth.getAccess", parmMap);
} catch (SQLException ex) {
log.error(ex, ex);
throw new RuntimeException (ex);
}
List result = (List)parmMap.get("Result0");
return ((String)(((HashMap) result.get(0)).get("accessVoucher"))).trim();
}
Comme vous pouvez le voir, je suis attrapant les exceptions parce que je veux le connecter my_system.log
mais parce que je veux l'exécution d'arrêter (car l'erreur est survenue) je lance à nouveau l'erreur. Je crois parce que je le lance, il montre dans server.log.
Comment puis-je éviter cela?
MISE À JOUR:
Voici mes appenders:
<appender name="myAppender" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="myFile" />
</appender>
<appender name="myFile" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../systems/my/log/my_system.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd/MMM/yyyy:HH:mm:ss.SSS}]~[%-5p]~[%c:%M]~[%m]%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="TRACE#com.org.common.logging.HUDLogLevel" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
Utilisez-vous JBoss? Si oui, quelle version de JBoss? –
J'utilise GlassFish V3 –
Pouvez-vous montrer vos appenders? Utilisez-vous le 'ConsoleAppender'? –