Montrant un Ressort de transaction dans le journal
J'ai configuré le printemps avec prise en charge transactionnelle. Est-il possible de journal des transactions juste pour m'assurer de tout mettre en place correctement? Montrant dans le journal est un bon moyen de voir ce qui se passe.
Vous devez vous connecter pour publier un commentaire.
dans votre
log4j.properties
(pour les autres bûcherons, ou log4j format xml, consultez la documentation)En fonction de votre gestionnaire de transactions, vous pouvez définir le niveau de journalisation du framework spring pour qu'il vous donne plus d'infos sur les transactions. Par exemple, dans le cas de l'utilisation
JpaTransactionManager
, vous définissez(c'est le paquet de votre gestionnaire de transactions), et aussi
Si
INFO
n'est pas suffisant, utilisezDEBUG
INFO
niveau ne vais pas vous montrer toute tx d'activité, il serait trop verbeux.DEBUG
seront nécessaires.Pour moi, un bon journalisation config pour ajouter a:
Il va montrer de me connecter comme ça:
Pour le Printemps de Démarrage de l'application:
Plus intéressant journal d'informations de
JtaTransactionManager.java
(si cette question est toujours à propos de laJtaTransactionManager
) sont enregistrés à l'DEBUG
priorité. En supposant que vous avez unlog4j.properties
quelque part sur le chemin de la classe, j'avais suggèrent donc à utiliser:Parce que vous pouvez accéder Printemps classes au moment de l'exécution, vous pouvez déterminer le statut de la transaction. Cet article peut vous aider:
https://dzone.com/articles/monitoring-declarative-transac
isActualTransactionActive()
au lieu de les récupérer sur chaque journalisation des appels.Vous pouvez activer JDBC bois:
Voici un code que j'utilise dans mon Logback Mise en page la mise en œuvre dérivée à partir de ch.la qualité de service.logback.de base.LayoutBase.
- Je créer une variable locale de thread pour stocker la référence à la méthode
org.springframework.transaction.support.TransactionSynchronizationManager.isActualTransactionActive()
. Chaque fois qu'une nouvelle ligne de journal est imprimé,getSpringTransactionInfo()
est appelée, et elle renvoie une chaîne de caractères qui vont aller dans le journal.Références:
Code: