【问题标题】:log4net filepath is emptylog4net 文件路径为空
【发布时间】:2013-05-27 14:09:52
【问题描述】:

我的 log4net 的配置:

<log4net>
<appender name="ItemsChangeLogFileAppender" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging">
  <file value="\logs\ItemChangeLogs\itemLog.{date}.txt"/>
  <appendToFile value="true"/>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%d %m%n"/>
  </layout>
</appender>
<root>
  <priority value="ALL"/>
  <appender-ref ref="ItemsChangeLogFileAppender"/>
</root>
<logger name="ItemsChangeLogger">
  <level value="ALL"/>
  <appender-ref ref="ItemsChangeLogFileAppender"/>          
</logger>

类:

public class LogEvents
{
    private static readonly ILog log = LogManager.GetLogger("ItemsChangeLogger");

    public LogEvents()
    {
        XmlConfigurator.Configure();

        log.Info("Some message");
    }

    public void Test(object sender, EventArgs args)
    {
        log.Info("Test");
    }
}

我想阅读我的日志,但找不到我的文件。

在某些问题 (here) 我使用答案但文件路径为空。如何解决这个问题?

【问题讨论】:

    标签: .net .net-3.5 log4net log4net-appender


    【解决方案1】:

    你必须阅读你的配置:

    log4net.Config.XmlConfigurator.Configure("log4net.config");
    

    这假定您的配置文件的名称是 log4net.xml。 log4net.xml 文件必须在您的 bin 目录中。

    \logs\ItemChangeLogs 文件夹必须存在于您的文件系统中。我会将其更改为:c:\logs\ItemChangeLogs,因此您知道 log4net 会在您的 c 驱动器上找到该目录,而不是其他驱动器。

    log4net configuration documentation

    我通常使用assembly.cs 文件中的属性配置 log4net,例如:

    // Configure log4net using the .config file
    [assembly: log4net.Config.XmlConfigurator(Watch=true)]
    // This will cause log4net to look for a configuration file
    // called TestApp.exe.config in the application base
    // directory (i.e. the directory containing TestApp.exe)
    // The config file will be watched for changes.
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 2014-09-07
    相关资源
    最近更新 更多