gpt4 book ai didi

c# - 在没有 web.config 的情况下使用 log4net

转载 作者:太空狗 更新时间:2023-10-29 17:39:38 25 4
gpt4 key购买 nike

我正在使用 log4net 记录错误。

目前我下载了log4net.dll文件,然后在global.asax文件中做了如下修改:

private static ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

protected void Application_Start(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.Configure();
}
protected void Application_Error(object sender, EventArgs e)
{
Log.Fatal("An uncaught exception occurred", this.Server.GetLastError());
}

还在 web.config 文件中进行了这些更改

<log4net>

<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="c:\Log4NetExample.log"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
</layout>
</appender>

<root>

<level value="All"/>

<appender-ref ref="LogFileAppender"/>
</root>

一切正常..但我需要的是从 web.config 中移动代码并改为从文本文件中读取它。

我还需要 2 个级别的调试和错误..

谁能帮我解决这个问题?

谢谢

最佳答案

将此属性放入您的 AssemblyInfo.cs 文件中:

[assembly:log4net.Config.XmlConfigurator(ConfigFile="Log4Net.config",Watch=true)]

其中“Log4net.config”等同于您的配置文件的名称。

当然,还有其他方法可以达到同样的效果。例如,您可以在 web.config 中保留配置部分处理程序设置。将该元素移动到它自己的 xml 文件中,并在 web.config 中将其替换为一个空元素,因此:

<log4net configSource="c:\config\myLog4NetConfig.xml" />

configSource 属性提供外部文件的位置(不能是 UNC 路径,但它必须是机器本地的。)

就配置 log4net 而言...可能会有点棘手。请参阅以下链接以获取帮助和示例:

关于c# - 在没有 web.config 的情况下使用 log4net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696866/

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