0

我的 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");
    }
}

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

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

4

1 回答 1

1

您必须阅读您的配置:

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

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

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

log4net 配置文档

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

// 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.
于 2013-05-27T14:24:40.113 回答