C# Log4Net不';t日志或错误

C# Log4Net不';t日志或错误,c#,asp.net,log4net,C#,Asp.net,Log4net,我一直在尝试在我的asp.net web应用程序中获取log4net日志,但没有成功,也没有任何明显的错误。我正在尝试将ADONetAppender appender与以下配置一起使用: 在我的global.asax应用程序中,我调用 log4net.Config.XmlConfigurator.Configure(); 然后尝试登录: protected static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurr

我一直在尝试在我的asp.net web应用程序中获取log4net日志,但没有成功,也没有任何明显的错误。我正在尝试将ADONetAppender appender与以下配置一起使用:


在我的global.asax应用程序中,我调用

log4net.Config.XmlConfigurator.Configure();
然后尝试登录:

protected static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected void Page_Load(object sender, EventArgs e)
{            
    log.Info("did I log yet?");
}

就我所知,所有这些都不起作用。

您是否在配置->配置部分下添加了以下部分

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
注意:对于web应用程序,这假定Log4Net.config驻留在web根目录中。确保log4net.config文件在属性中标记为“复制到输出”->“始终复制”


从。

您还可以设置以下appsettings以启用内部log4net调试信息

<appSettings>
        <add key="log4net.Internal.Debug" value="true"/>
</appSettings>


内部调试消息将写入控制台(如果有)或跟踪(例如visual studio中的调试窗口或sysintenals中的dbgview)。这将帮助您解决log4net问题。

针对log4net的内部调试是@Pratik建议的方法。要将详细信息写入文件,请执行以下操作:

web.config
中添加以下内容,即使您正在为log4net使用不同的配置文件



  • 我觉得那些连接字符串凭据是真实的,可能最好不要在以后的帖子中包含它们……我也有同样的问题——这非常令人沮丧。数据库中没有日志条目,Log4Net跟踪中没有错误。。没事。谢谢,这帮助我找到了log4net引发的Oracle异常,并立即解决了我的问题。如果您使用的是DebugView,请尝试检查捕获>捕获全局Win32菜单。我没有得到任何东西,直到我这样做。你能告诉我,我到底应该在哪里添加这段代码吗?我有一个.Net 4.0 web应用程序。因此,如果您执行“复制到输出”操作,是否会将log4net.config放入web应用程序的bin目录以及网站根目录中?这非常适合调试它为什么不能在托管环境中工作!非常感谢。
    <appSettings>
            <add key="log4net.Internal.Debug" value="true"/>
    </appSettings>