Comment puis-je spécifier une mise en page et une conversionPattern pour le sujet des e-mails résultants? P>
Le tampersize devra être inférieur ou égal à 1, il ne se produira donc pas de tampon. P>
4 Réponses :
L'article de codeProject log4net NonbufferedsmtpapenderwithsubjectLayout semble prometteur. En héritant de l'appendend de base requis (SMTPCICKUPDIRAPPENDER dans mon cas) et en ajoutant une propriété ILayout, il est possible de modifier le sujet dans la méthode de l'annexe. P> <appender name="SmtpPickupDirAppender" type="namespace.for.SmtpSubjectLayoutPickupDirAppender">
<to value="to@domain.com" />
<from value="from@domain.com" />
<subject value="test logging message" />
<subjectLayout type="log4net.Layout.PatternLayout, log4net">
<conversionPattern value="Logging message - %message"/>
</subjectLayout>
<pickupDir value="C:\SmtpPickup" />
<bufferSize value="1" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
</layout>
</appender>
Pour les propriétés personnalisées:
Public ILayout SoumetLayout Code> doit être
Modèle publicLayout SoumetLayout Code> Pour que cela fonctionne.
Parce que les réponses précédentes qui suggèrent à l'aide de la version Nuget de SmtpAppenderwithSubjectLayout ont besoin de log4net version> 1.2.1, j'ai utilisé le code source Nuget mais j'ai modifié pour utiliser le log4net 1.2.1