我有一个 VB 控制台应用程序,我正在尝试动态命名我的 FileAppender 的 log4net 输出文件。
正在创建日志文件并且它具有正确的内容,问题是正在创建名称为“%property{LogFilePath}”的文件。换句话说,它根本没有进行字符串替换。
在 app.config 中:
<log4net>
<appender name="myAppender" type="log4net.Appender.FileAppender">
<file value="%property{LogFilePath}" />
<appendToFile value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="myAppender" />
</root>
</log4net>
在我的 VB 文件中:
Private _logger As ILog
Private Sub InitializeLogger()
log4net.GlobalContext.Properties("LogFilePath") = "C:\Logs\myLog.log"
XmlConfigurator.Configure()
_logger = LogManager.GetLogger("myAppender")
End Sub
回顾一下,正在创建日志文件并且它确实具有预期的内容,唯一的问题是日志文件名保留为“%property{LogFilePath}”而不是被“C:\Logs\myLog.log”替换"
任何帮助将不胜感激 :)