Ceci est mon dilemme. J'ai un RollingFileAppender
. J'ai un BufferingForwardingAppender
. L'appendeur de transfert écrit dans l'appender du fichier. Mon appender fichier a besoin d'un fichier à écrire. Je veux que le fichier soit nommé en tant que tel %Called Assembly Type%log.txt
, où% type appelé% de l'Assemblée est le type d'assemblage appeléComment puis-je obtenir log4net pour écrire dans un nom de fichier basé sur la classe qui a instancié l'enregistreur?
Je l'intention d'utiliser comme suit (gasp!):
Appel d'un service appelé " OkilyDokily
":
var log4NetLogger = LogManager.GetLogger(GetMyAssemblyName());
log4NetLogger.LogInfo("Toodleoo");
appel d'un service appelé" Neighborinos
« :
var log4NetLogger = LogManager.GetLogger(GetMyAssemblyName());
log4NetLogger.LogInfo("Toodleoo");
Je me attends à 2 log f Iles, un nommé OkilyDokilylog.txt
et un nommé Neighborinoslog.txt
Existe-t-il un moyen de le faire dans log4net? Est-ce que mon BufferingForwardingAppender
va poser un problème? J'ai essayé cette configuration mais %logger
est simplement la traduction à la chaîne logger
:(
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString">
<conversionPattern value="C:\testlogs\%logger log.txt" />
</file>
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="-1" />
<maximumFileSize value="5KB" />
<staticLogFileName value="true" />
<countDirection value="1"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-8level %-21date{M/d/yyyy H:m:ss} %message%newline" />
</layout>
</appender>
Ceci est une bonne question de son propre mérite, mais j'aime particulièrement la lecture des questions qui ont un peu de caractère à eux et Ned Flanders est pas un mauvais choix du tout pour cela, donc. +1. –