【问题标题】:log4net dynamic configurationlog4net 动态配置
【发布时间】:2011-07-07 16:04:52
【问题描述】:

我有一个 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"

任何帮助将不胜感激:)

【问题讨论】:

    标签: log4net log4net-configuration


    【解决方案1】:

    您是否缺少文件属性中的类型?

    <file type="log4net.Util.PatternString" value="%property{LogFilePath}" />
    

    更多详情请参见:
    http://logging.apache.org/log4net/release/sdk/log4net.Util.PatternString.html

    【讨论】:

      猜你喜欢
      • 2014-09-07
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      相关资源
      最近更新 更多