gpt4 book ai didi

.net - 我无法在我的 Web 应用程序 :( 中使用 log4net

转载 作者:行者123 更新时间:2023-12-04 16:56:36 24 4
gpt4 key购买 nike

我正在尝试设置 log4net,但无法使其正常工作。我把它放在我的 Web.config 中:

<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>

<log4net>
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="14" />
<maximumFileSize value="15000KB" />
<datePattern value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>

<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
<appender-ref ref="TraceAppender" />
</root>
</log4net>

然后,在我的代码中执行:
log4net.Config.XmlConfigurator.Configure(new FileInfo(HttpContext.Current.Server.MapPath("~/Web.config")));
ILog log = LogManager.GetLogger("MainLogger");

if (log.IsDebugEnabled)
log.Debug("lalala");

但什么也没有发生。我检查了“log”变量,它包含一个启用了所有日志记录级别的 LogImpl 对象。我没有收到错误或配置警告,我在根目录、bin 或任何地方都看不到任何文件。

我该怎么做才能让它发挥作用?

最佳答案

试着写:

log4net.Config.XmlConfigurator.Configure();

相反,因为 Web.config 是 Log4Net 将查找的默认位置。

否则,从您的代码中删除整行并将以下内容粘贴到您的 AssemblyInfo.cs 中:
[assembly: log4net.Config.XmlConfigurator()]

这将在程序集级别配置 Log4Net。然后在您的代码中,只需创建一个这样的记录器:
private static readonly ILog Log = LogManager.GetLogger(typeof(YourFunkyClass));

关于.net - 我无法在我的 Web 应用程序 :( 中使用 log4net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2644513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com