2008-09-23 5 views
2

J'ai effectué quelques recherches à la recherche d'informations sur la procédure de connexion avec Spring Framework.Méthode préférée pour effectuer la journalisation dans le travail SpringFrame

Nous avons actuellement une application qui ne se connecte pas à l'exception des instructions system.out (très mauvaise façon).

Ce que je voudrais faire, c'est ajouter la journalisation, mais aussi vouloir pouvoir contrôler la journalisation au moment de l'exécution, avec say JMX.

Nous utilisons Rad 7.0/WebSphere 6.1

Je suis intéressant de savoir quelle est la meilleure façon (s) d'y arriver (je figure il peut y avoir plusieurs).

Mise à jour: Réflexions sur les points suivants Spring AOP Logging Bon idéal ou non. Ceci est en référence à une question affichée ici sur l'enregistrement: Conditional Logging. Cela améliore-t-il les choses ou rend-il simplement plus difficile dans le domaine de l'exploitation forestière?

Répondre

5

Je voudrais utiliser Commons Logging et Log4j. Ce n'est pas vraiment une question pour Spring, mais la source Springframework utilise aussi Commons Logging. Si vous créez un enregistreur log4j et un appender dans log4j, vous pouvez également activer la journalisation dans les classes Springframework. Il existe plusieurs façons de contrôler la journalisation au moment de l'exécution. Le sandbox Log4j dispose d'un JSP, que vous pouvez déposer dans votre application Web, qui vous permettra de contrôler les niveaux de journalisation de tous les journaux de votre application.

1

Voici un exemple de fichier pour configurer log4j pour une console et un enregistreur de fichiers. si ce fichier est sur le classpath, il sera automatiquement lu par log4j. Toutefois, étant donné que vous vous trouvez dans un serveur d'applications, il existe peut-être une autre méthode préférée de configuration de la journalisation. Je me souviens que dans JBoss il y avait un fichier XML que vous deviez modifier. Je ne suis pas sûr de la configuration de websphere. Mais si vous voulez le configurer pour une application de test simple, cela vous aidera à démarrer.

# Set root logger level to WARN and appenders to A1 & F1. 
log4j.rootLogger=WARN, A1, F1 

# A1 is set to be a ConsoleAppender. 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 
# logging to console only INFO 
log4j.appender.A1.Threshold=INFO 
# F1 is a file appender 
log4j.appender.F1=org.apache.log4j.RollingFileAppender 

# Tell Spring to be quiet 
log4j.logger.org.springframework=WARN 
# debug logging for my classes 
log4j.logger.com.yourcorp=DEBUG 
log4j.logger.org.hibernate=INFO 

# A1 uses PatternLayout. 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%-4r : %d{HH:mm:ss,SSS} [%t] %-5p %c{1} %x - %m%n 

log4j.appender.F1.File=./log/mylogfile.log 
log4j.appender.F1.MaxFileSize=10MB 
log4j.appender.F1.MaxBackupIndex=5 
log4j.appender.F1.layout=org.apache.log4j.PatternLayout 
log4j.appender.F1.layout.ConversionPattern=%-4r : %d{HH:mm:ss,SSS} [%t] %-5p %c{1} %x - %m%n 
+0

je me sens le format XML des fichiers de configuration de log4j sont plus faciles à lire, écrire et sont un peu plus expressif – Vihung

2

Voir les autres réponses de log4j. Mais considérons également JAMon pour surveillance d'application. Il est très facile d'ajouter à une application de printemps, par exemple .:

<bean id="performanceMonitor" class="org.springframework.aop.interceptor.JamonPerformanceMonitorInterceptor"> 
     <property name="useDynamicLogger" value="false"/> 
     <property name="trackAllInvocations" value="true"/> 
    </bean> 

    <bean id="txRequired" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true"> 
      <property name="transactionManager" ref="transactionManager"/> 
      <property name="transactionAttributes" > 
       <props> <prop key="*">PROPAGATION_REQUIRED</prop> </props> 
      </property> 
     <property name="preInterceptors"> 
      <list> 
       <ref bean="performanceMonitor"/>  
      </list> 
     </property> 
    </bean> 
+0

JAMon semble en effet très intéressant. Mondo merci pour le pointeur. – skaffman

Questions connexes