探索與發(fā)現(xiàn)

          研究java技術(shù)

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            83 隨筆 :: 0 文章 :: 109 評論 :: 0 Trackbacks

          I had previously written about using lo4net from Sharepoint
          by including all the configuration settings in the code.

          This certainly works, and its very easy.

          It would be good to be able to use a standard log4net configuration
          file though. In fact that would be great.

          And you can.

          FileInfo configFile = new FileInfo(_LOG4NET_CONFIGURATIONFILE);
          XmlConfigurator.Configure(configFile);

          It is that simple.

          In the code above _LOG4NET_CONFIGURATIONFILE is a configuration setting I read from the Sharepoint configuration file, but you can hardcode it instead.           

          You have to make sure that you put the configuration file in a location that Sharepoint can read from .

          One such place is

          C:\Inetpub\wwwroot\wss\VirtualDirectories\80

          I find it tidy to keep the log4net file next to the web.config file as well.

          You can also read from the web.config file that Sharepoint uses with this code:

          Configuration config = null;
          config = WebConfigurationManager.OpenWebConfiguration("/", "Sharepoint - 80");

           

           

           

          Phil Haack explains configuring log4net in asp.net 2.0 application. We can keep the configuration in the web.config, and we need to tell the log4net, that where we kept the configuration in the Application_Start() event using XmlConfiguration.Configure() menthod. In asp.net we can add a Global.asax and keep this code in Global.asax.cs.

          But how can we do this in Sharepoint?

          Every site collection we create in sharepoint, creates a globals.asax file and keeps in the webapp root directory. The asax files contains the following code.

          <%@ Assembly Name="Microsoft.SharePoint"%>
          <%@ Application Language="C#" Inherits="Microsoft.SharePoint.ApplicationRuntime.SPHttpApplication" %>

          We can add a inline code in the global.asax file as follows,

          <%@ Assembly Name="Microsoft.SharePoint"%>
          <%@ Assembly Name="log4net, version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821" %>
          <%@ Application Language="C#" Inherits="Microsoft.SharePoint.ApplicationRuntime.SPHttpApplication" %>
          <%@ Import Namespace="log4net.Config" %>

          <script runat="server">
          void Application_Start(Object sender, EventArgs e)
          {

          // Configure log4Net, to take its configuration from the web.config file.
          XmlConfigurator.Configure();
          }
          </script>

          or we can derive a class from SPHttpApplication and add the Application_Start() method.

           

          posted on 2009-02-11 07:09 蜘蛛 閱讀(362) 評論(0)  編輯  收藏 所屬分類: 日?,嵤?/a>
          主站蜘蛛池模板: 平和县| 汉中市| 鄯善县| 东方市| 文昌市| 濮阳县| 佛教| 江孜县| 呈贡县| 当涂县| 河北省| 邳州市| 隆安县| 同仁县| 新绛县| 瑞安市| 兴国县| 百色市| 双桥区| 潮安县| 海阳市| 嘉善县| 营口市| 健康| 洛川县| 武城县| 兴安盟| 班玛县| 瑞昌市| 社会| 安陆市| 白沙| 安庆市| 麻城市| 龙陵县| 道真| 甘肃省| 凤城市| 胶南市| 阳江市| 三穗县|