嘿,我的web.config中有这样的配置
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="mylog.log" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="" />
<param name="Footer" value="" />
<param name="ConversionPattern" value="%d [%t] %-5p %m%n" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]\r\n" />
<param name="Footer" value="[Footer]\r\n" />
<param name="ConversionPattern" value="%d [%t] %-5p %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
但是log4net不起作用。我的项目编译得很好,调试时也没有遇到错误。我告诉log.debug("somemessage")
的代码行运行正常,但是我找不到mylog.log
文件,那么它在哪里呢?
发布于 2010-10-10 07:00:04
这种情况的一个问题是,通过在AssemblyInfo.cs
中放置以下行,确保将XmlConfigurator
属性添加到程序集中
[assembly: log4net.Config.XmlConfigurator]
否则log4net永远不会激活。
发布于 2013-02-22 02:42:09
还有一个小陷阱,请看这里:http://logging.apache.org/log4net/release/manual/configuration.html#dot-config
对于app.config,[assembly: log4net.Config.XmlConfigurator]
方法不起作用。如果从app.config配置log4net,则必须使用log4net.Config.XmlConfigurator.Configure()
方法。
发布于 2015-03-06 23:26:58
对于ASP.NET MVC项目,添加
log4net.Config.XmlConfigurator.Configure();
对Global.asax.cs也有帮助:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AuthConfig.RegisterAuth();
log4net.Config.XmlConfigurator.Configure();
}
}
https://stackoverflow.com/questions/3898218
复制相似问题