log4net文件路径为空

问题描述 投票:0回答:1

我的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>

class:

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个回答
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.
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.