use*_*084 9 c# asp.net logging log4net
我使用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());
}
Run Code Online (Sandbox Code Playgroud)
这些更改也是在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>
Run Code Online (Sandbox Code Playgroud)
一切正常..但我需要的是从代码移动代码web.config
并从文本文件中读取它.
另外我需要2级调试和错误..
谁能帮我这个?
谢谢
Nic*_*rey 15
将此属性放在AssemblyInfo.cs文件中:
[assembly:log4net.Config.XmlConfigurator(ConfigFile="Log4Net.config",Watch=true)]
Run Code Online (Sandbox Code Playgroud)
其中'Log4net.config'等同于配置文件的名称.
当然,还有其他方法可以达到同样的效果.例如,您可以在web.config中设置配置节处理程序.将元素移动到自己的xml文件,并在web.config中将其替换为空元素,因此:
<log4net configSource="c:\config\myLog4NetConfig.xml" />
Run Code Online (Sandbox Code Playgroud)
configSource属性提供外部文件的位置(不能是UNC路径,但它必须是机器的本地文件.)
至于配置log4net ......这可能会让人觉得有点棘手.请参阅以下链接以获取帮助和示例:
归档时间: |
|
查看次数: |
7624 次 |
最近记录: |