1

我在 EPiServer 中遇到 log4net 问题。它正在记录 EPiServer 的东西,NHibernate 的东西,但不是我的自定义日志。试图显式配置记录器以记录我的命名空间中的所有内容:

<logger name="My.Website.Business">
    <level value="All" />
</logger>

我在我的自定义类中定义记录器,如下所示:

ILog log = LogManager.GetLogger(typeof(MyClass));

并这样称呼它:

log.Error("Some error");

我还启用了 log4net 日志记录,以查看启动时发生的情况,但没有错误或奇怪的行为。它甚至创建在配置中定义的记录器。我还尝试为我的记录器定义其他附加程序,但它只是创建空文件并且不记录任何内容。

4

2 回答 2

2

Episerver 日志中有一个古老的错误:如果您在 global.asax 中声明了一个静态(类级别)log4net 日志对象,那么您的自定义日志将不起作用,只有 episerver 内部日志。

如果您需要在 global.asax 中记录内容,请在方法中声明记录器。在其他类中,您可以像往常一样静态声明它。

于 2012-10-05T06:09:09.773 回答
0

log4net 不起作用的原因是 log4net 的不同版本。我的应用程序引用了 log4net 1.2.11 (2.0.0),但 EPiServer 使用 1.2.10。我们正在使用 NuGet 来安装/更新软件包,并且有人将 log4net 更新到了较新的版本。因此请注意对 EPiServer 和应用程序使用相同的 log4net 版本。

于 2012-12-21T07:44:31.067 回答