当前位置:编程学习 > C#/ASP.NET >>

log4net在一个solution多个project下的问题

现有一个solution,里面有3个project:
   1. Common(里面有数据库访问类) 路径:/SolutionName/Common
   2. Common.Test(里面是针对Common的NUnit单元测试类) 路径:/SolutionName/Common.Test
   3. WebApp(一个Web Application) 路径:/SolutionName/WebApp
我在Common里面配置了log4net,里面的App.config和AssemblyInfo.cs都做了配置,在Common.Test中做测试一切正常,日志记录到了指定的文件/SolutionName/WebApp/log.txt,但是在WenApp内.aspx页面调用Common中的方法时,log.txt却没有记录下日志,为什么?

下面是数据访问类的部分代码片断:
 public class DataAccessFactory
    {
        private static readonly ILog log = LogManager.GetLogger(typeof(DataAccessFactory));

        public static DataAccess CreateDataAccess()
        {
            log.Info("#### DB Connection opened.");
            
            String connectString = GetConnectString();
           
            return new DataAccess(new SqlConnection(connectString));
        }

        private static String GetConnectString()
        {
            log.Info("#### Retrieve Connection String.");

            XmlDocument document = new XmlDocument();

            if (System.Web.HttpContext.Current != null)
            {
                //用于Web应用
                document.Load(System.Web.HttpContext.Current.Server.MapPath("/web.config"));
            }
            else
            {
                //用于单元测试
                document.Load("/ParkJob/ParkJob/web.config");
            }
            
            XmlNode connstrNode = document.DocumentElement.SelectSingleNode("ParkJob/connstr");
            if (connstrNode != null)
            {
                return ((XmlElement)connstrNode).InnerText;
            }

            return null;
        }
    } --------------------编程问答-------------------- 在Global.asax中加
void Application_Start(object sender, EventArgs e) 
    {
         log4net.Config.XmlConfigurator.Configure(); 
    }
    
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,