joh*_*n84 152 .net c# asp.net logging log4net
我使用Log4net创建了一个简单的场景,但似乎我的appender不起作用,因为消息没有添加到日志文件中.
我将以下内容添加到web.config文件中:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false"/>
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="D:\MyData\Desktop\LogFile.txt" />
<appendToFile value="true" />
<encoding value="utf-8" />
<layout type="log4net.Layout.SimpleLayout" />
</appender>
<root>
<level value="INFO" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
Run Code Online (Sandbox Code Playgroud)
在全局ASAX文件中,我添加了:
ILog logger = LogManager.GetLogger(typeof(MvcApplication));
Run Code Online (Sandbox Code Playgroud)
并在Application_Start方法中:
logger.Info("Starting the application...");
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
And*_*son 307
你打电话吗?
log4net.Config.XmlConfigurator.Configure();
Run Code Online (Sandbox Code Playgroud)
在哪里让log4net读取你的配置?例如在Global.asax中:
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
// Initialize log4net.
log4net.Config.XmlConfigurator.Configure();
}
Run Code Online (Sandbox Code Playgroud)
bec*_*hbd 47
使用此FAQ页面: Apache log4net常见问题解答
大约3/4的方式告诉您如何使用应用程序跟踪启用log4net调试.这将告诉您问题所在.
基础是:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
并且您在标准输出中看到了跟踪
LCJ*_*LCJ 33
正如@AndreasPaulsson建议的那样,我们需要配置它.我在AssemblyInfo文件中进行配置.我在configuration file name这里指定.
// Log4Net Configuration.
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
Run Code Online (Sandbox Code Playgroud)
sha*_*hay 19
插入:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Run Code Online (Sandbox Code Playgroud)
在AssemblyInfo.cs文件的末尾
| 归档时间: |
|
| 查看次数: |
145275 次 |
| 最近记录: |