在C#中的AdjustFileBeforeAppend方法中获取log4net config的自定义xml节点值

幽映每白日,清辉照衣裳。这篇文章主要讲述在C#中的AdjustFileBeforeAppend方法中获取log4net config的自定义xml节点值相关的知识,希望能为你提供帮助。
我有log4net配置如下:

< log4net> < appender name="TestAppender" type="myLogging.Program+RollingFileCustomAppender" > < file value="https://www.songbingjia.com/android/C:UsersjohnDesktopmyLoggingMyTestAppender.log" /> < appendToFile value="https://www.songbingjia.com/android/true"/> < rollingStyle value="https://www.songbingjia.com/android/Composite"/> < maxSizeRollBackups value="https://www.songbingjia.com/android/2"/> < newNode value="https://www.songbingjia.com/android/23"/> < maximumFileSize value="https://www.songbingjia.com/android/1KB"/> < staticLogFileName value="https://www.songbingjia.com/android/true"/> < datePattern value="https://www.songbingjia.com/android/.yyyy-MM-dd"/> < lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> < layout type="log4net.Layout.PatternLayout"> < conversionPattern value="https://www.songbingjia.com/android/%date [%thread] %-5level %logger{3} - %message%newline"/> < /layout> < /appender> < root> < level value="https://www.songbingjia.com/android/All" /> < /root>


在这里,我在配置中添加了一个名为newNode的新xml节点。我还创建了一个自定义文件appender:
public class RollingFileCustomAppender: RollingFileAppender { public RollingFileByMaxAgeAppender() : base() { }protected override void AdjustFileBeforeAppend() { // how to access the new node value here????????? } }

在c#中的AdjustFileBeforeAppend方法中获取新节点值的最佳方法是什么?
答案将公共属性getter和setter添加到自定义RollingFileAppender类。 此属性的名称可以在PascalCase中。 它可以是String类型,甚至是数字,例如。 Int32
【在C#中的AdjustFileBeforeAppend方法中获取log4net config的自定义xml节点值】对于你问题中的appender,它看起来像:
public class RollingFileCustomAppender: RollingFileAppender { public Int32 NewNode { get; set; }protected override void AdjustFileBeforeAppend() { // Do something with this.NewNode }// ... }


    推荐阅读