当前位置:  开发笔记 > 编程语言 > 正文

无法让Log4Net在我的ASP.NET网站上运行:(

如何解决《无法让Log4Net在我的ASP.NET网站上运行:(》经验,为你挑选了2个好方法。

非常简单的问题 - >我似乎无法在我的ASP.NET应用程序中从Log4Net获取任何数据.我有一个简单的ASP.NET网站,它引用了一个类库.在这个类库中,我有一些调用记录器的行.

我正在尝试在Visual Studio 2008调试输出窗口中读取log4net输出数据.

这是我的代码和我的配置......

//Class Library project
//File: Foo.cs
public class FooService
{
    private static readonly ILog log = LogManager.GetLogger(typeof(FooService));

    public FooService()
    {
        // NOTE: To play with my L4N settings, I'll call Debug once, then Info once.

        log.Info("Starting Constructor");

        // ... snip ...

        log.Debug("Leaving Constructor");
    }
}


// ASP.NET Website project
// File: global.asax
void Application_Start(object sender, EventArgs eventArgs) 
{
    log4net.Config.XmlConfigurator.Configure();
}

// File: Whatever.aspx.cs
// A delegate method (when a user clicks a button) creates the FooService() instance.

// File: web.config

    
// ....

欢呼任何帮助或建议......

编辑:添加了RollingLogFileAppender.



1> Dewfy..:

ASP.Net对文件系统访问的使用有限制,所以尝试在App_Data下明确指向目录(是否允许)在这里我的工作示例:


    
        

或翻滚

    
        



2> kenny..:

我有同样的问题,我认为它正在查看错误的web.config或其他东西.我终于从web.config中分离出log4net.config并将路径放到它\ inetpub\Logs\log4net.config并且一切都很顺利.

UDPATED ON REQUEST:从稍微复杂的版本编辑.



    
        
            
        
    \

    
        
        
        
    

它在代码中配置如下:

        var logpath = WebConfigurationManager.AppSettings["LogConfigPath"] ?? @"\Inetpub\Logs\log4net.config";
        var finfo = new System.IO.FileInfo ( logpath );
        XmlConfigurator.Configure( finfo );

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有