2010-05-27 9 views
1

Ceci est mon fichier de configuration logback:red5 RC1 1.0.0: configurer logback pour enregistrer les erreurs de org.red5.server.service.ServiceInvoker

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<contextName>xpofacebook</contextName> 
<appender name="ERROR" 
class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <File>log/xpofacebook-error.log</File> 
    <Append>true</Append> 
    <BufferedIO>false</BufferedIO> 
    <ImmediateFlush>true</ImmediateFlush> 
    <layout class="ch.qos.logback.classic.PatternLayout"> 
     <Pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</Pattern> 
    </layout> 
    <rollingPolicy 
class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
     <FileNamePattern>log/error.log.%i.zip</FileNamePattern> 
     <MinIndex>1</MinIndex> 
     <MaxIndex>3</MaxIndex> 
    </rollingPolicy> 
    <triggeringPolicy 
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
     <MaxFileSize>5MB</MaxFileSize> 
    </triggeringPolicy> 
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
     <level>WARN</level> 
    </filter> 
</appender> 
<appender name="FILE" 
class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <File>log/xpofacebook-application.log</File> 
    <Append>true</Append> 
    <BufferedIO>false</BufferedIO> 
    <ImmediateFlush>true</ImmediateFlush> 
    <layout class="ch.qos.logback.classic.PatternLayout"> 
     <Pattern>%date{ISO8601} [%-5level] %logger{35} - %msg%n</Pattern> 
    </layout> 
    <rollingPolicy 
class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
     <FileNamePattern>log/xpofacebook-application.log.%i.zip</FileNamePattern> 
     <MinIndex>1</MinIndex> 
     <MaxIndex>3</MaxIndex> 
    </rollingPolicy> 
    <triggeringPolicy 
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
     <MaxFileSize>5MB</MaxFileSize> 
    </triggeringPolicy> 
</appender> 
<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="ERROR" /> 
    <appender-ref ref="FILE" /> 
</root> 
</configuration> 

jusqu'à présent, il fonctionne très bien je dois ajouter ce qui suit code à chaque classe que je veux enregistrer des messages dans:

private static Logger log = Red5LoggerFactory.getLogger(ClassName.class, "xpofacebook"); 

je veux le principal fichier journal xpofacebook-application.log pour se connecter en dehors des messages des classes que je travaille.

Si un client Flex est connecté au serveur Red5 et tente d'invoquer une commande qui n'existe pas, le message d'erreur suivant sera affichée:

[NioProcessor-1] org.red5.server.service.ServiceInvoker - Method 
getLiveChallenges with parameters [] not found in 
[email protected] 

Comment puis-je faire en sorte que ce type de messages d'erreur seront également inclus dans mon fichier journal?

Répondre

1

Cela va prendre un changement dans la fonctionnalité de journalisation de base de Red5. À l'heure actuelle, tout ce qui se trouve en dehors de votre application est contrôlé par un enregistreur différent, car il se trouve dans un classloader situé au-dessus du vôtre. Sans entrer dans le plaisir des classloaders Java ici, je dirai simplement qu'un correctif ou une solution de contournement finira par arriver.