Il serait utile d'attacher automatiquement des fichiers journaux pour prendre en charge les courriels. Je pourrais définir le chemin par programme (comme dans Setting Logback Appender path programmatically), mais je préfère laisser les utilisateurs configurer la journalisation de manière familière via logback.xml
. Alors, puis-je trouver le journal de fichiers utilisé pour la journalisation?Est-il possible de trouver des fichiers journaux de journalisation par programme?
Répondre
Vous pouvez obtenir la liste de tous les appenders dans un certain contexte. Pour ce faire:
LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
for (Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders(); index.hasNext();) {
Appender<ILoggingEvent> appender = index.next();
}
}
Ce itère sur la liste de tous appenders dans tous les enregistreurs pour le contexte actuel.
La méthode iteratorForAppenders n'existe plus sur le journal (http://www.slf4j.org/apidocs/org/slf4j/Logger.html). Une idée de comment cela fonctionne maintenant? – user3885927
@ user3885927 assurez-vous d'importer ch.qos.logback.classic.Logger et non org.slf4j.Logger! – Catchwa
Réponse donnée par @ tafoo85 est correcte mais elle vous donnera seulement des appenders.
Pour plus de détails, utilisez le logger Logger, j'espère que le code ci-dessous aidera quelqu'un.
File clientLogFile;
FileAppender<?> fileAppender = null;
LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
for (Logger logger : context.getLoggerList())
{
for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders();
index.hasNext();)
{
Object enumElement = index.next();
if (enumElement instanceof FileAppender) {
fileAppender=(FileAppender<?>)enumElement;
}
}
}
if (fileAppender != null) {
clientLogFile=new File(fileAppender.getFile());
}
else {
clientLogFile = null;
}
Log.d("logfile path", clientLogFile.getAbsolutePath());
Était exactement ce dont j'avais besoin, bien que j'ai changé la ligne 'Object enumElement = index.next();' à Appender
@danial qui sera plus spécifique. mais si vous voulez 2-3 enregistreur de fichiers (débogage et trace) alors ce code fonctionnera parfaitement. – androidnoobdev
- 1. Journalisation Python - vérifier l'emplacement des fichiers journaux?
- 2. Gestion des journaux avec la journalisation Python
- 3. Suppression des gestionnaires des journaux de journalisation de python
- 4. Filtrer les journaux de l'appareil par programme
- 5. journalisation des appels de fonction spécifiques à des journaux spécifiques
- 6. Plusieurs fichiers journaux générés
- 7. Comment ajouter des journaux de téléphone par programme dans Android?
- 8. Où puis-je trouver par programme où les fichiers journaux log4j sont stockés?
- 9. Est-il possible d'utiliser Log4perl pour créer des fichiers journaux par utilisateur?
- 10. journalisation log4net dans des fichiers différents
- 11. Emplacement des fichiers journaux
- 12. Télécharger des fichiers journaux personnalisés depuis openshift
- 13. fichiers journaux de sauvegarde - problème
- 14. Besoin d'accéder aux journaux GAE par programme
- 15. Plusieurs fichiers journaux à l'aide de Log4j
- 16. Programme Calcul des journaux de primes
- 17. SSIS: Comment créer des fichiers journaux personnalisés?
- 18. Comment puis-je obtenir des fichiers de l'iDisk par programme?
- 19. Est-il possible d'avoir des erreurs de journalisation des rails lors de l'ensemencement
- 20. Trouver des fichiers par extension
- 21. Comment modifier le niveau de journalisation de dmesg par programme?
- 22. Suppression des fichiers journaux MySQL
- 23. C# Log4Net - modifier dynamiquement le répertoire des journaux par programme
- 24. Générer par programme des fichiers JavaDoc
- 25. Format des dates dans les fichiers journaux PDI/Kitchen 4.0.1
- 26. Erreurs de journalisation par programme avec Elmah: consignation d'informations spécifiques
- 27. Comment supprimer les journaux d'appels de android par programme?
- 28. Recherche de fichiers journaux Hudson
- 29. autorisations de fichiers journaux asp.net
- 30. Présentation des fichiers journaux Android
Désolé mais je n'arrive pas à comprendre la question. Pourriez-vous développer un peu? – Ceki
@Ceki: plus généralement, puis-je avoir une liste de tous les appenders utilisés par Logback? –