J'utilise log4net avec AdoNetAppender. Il semble que l'AdoNetAppender ait un Flush method. Y at-il de toute façon que je peux appeler cela à partir de mon code? J'essaye de créer une page d'admin pour voir toutes les entrées dans le journal de base de données, et je voudrais installer log4net avec bufferSize = 100 (ou plus), alors je veux que l'administrateur puisse cliquer sur un bouton sur la page d'administration pour forcer log4net à écrire les entrées du journal mis en mémoire tampon dans la base de données (sans fermer log4net).Y at-il de toute façon vider par programmation le tampon dans log4net?
Est-ce possible?
Je pense que log4net.LogManager.GetRepository(). GetAppenders(); vous obtiendrez tous les appenders, peu importe à quel enregistreur ils sont attachés ... –
@Stefan: Bien repéré. J'ai mis à jour ma réponse. Merci. – Alconja
ILoggerRepository repository = LogManager.GetRepository(); IEnumerable appenders = repository.GetAppenders() .OfType (); foreach (var appender dans appender) appender.Flush(); –