Spring.NET 1.3.2 集成 NHibernate 3.2 - 3 - 監控及日志


現在,我們的網站已經可以初步工作了。

但是,Spring.NET 在后面做了些什么呢?我們定義的對象都有哪些?我們需要一個強大的工具來看到后面發生了什么。

一. 上下文監控器 ContextMonitor.ashx

在配置 Spring.NET 的時候,注意檢查一下,你會發現一個特殊的處理程序 ContextMonitor.ashx,它可以讓我們看到在應用程序的上下文中定義了那些對象,以及這些對象的特性。

但是,這個太簡單了。

二. 使用日志

1. 簡介

Spring.NET 使用 Common.Logging 日志庫,這個庫的底層可以支持多種日志實現,通常使用的是 log4net。

支持如下的日志實現:

• System.Console
• System.Diagnostics.Trace
• Log4Net 1.2.9
• Log4Net 1.2.10 (higher version by assembly version redirect)
• NLog
• Enterprise Library 3.1 Logging
• Enterprise Library 4.1 Logging

2. 添加程序集引用

首先,我們需要添加 Common.Logging.dll 程序集的引用。

當然,這也需要配置。

3. 配置日志

在配置文件的起始部分增加 Common Logging 的配置支持。現在的配置節定義成為了下面的樣子。

  <configSections>
    <!-- Spring 的配置 -->
    <sectionGroup name="spring">
      <section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
      <!-- 支持在 web.config 中定義對象 -->
      <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
    </sectionGroup>
    
    <!-- 日志配置 -->
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>
  </configSections>

具體日志的輸出目標和設置在 common/logging 中進行定義。

例如,我們希望使用 Visual Studio 的 Trace 輸出,以便在 Visual Studio 的調試輸出窗口中看到日志信息。那么,可以如下進行配置。

  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Simple.TraceLoggerFactoryAdapter, Common.Logging">
        <arg key="level" value="DEBUG" />
        <arg key="showLogName" value="true" />
        <arg key="showDataTime" value="true" />
        <arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" />
      </factoryAdapter>
    </logging>
  </common>

在 Common.Logging 中定義了如下的適配器:

  • ConsoleOutLogger,使用  ConsoleOutLoggerFactoryAdapter 作為適配器
  • NoOpLogger,使用 NoOpLoggerFactoryAdapter 作為適配器
  • TraceLogger,使用 TraceLoggerFactoryAdapter 作為適配器

現在,在調試模式中運行網站,在 Visual Studio 的調試輸出窗口中,可以看到如下的信息。

你可以看到 Spring.NET 工作的每一個細節。

如果使用 log4net 的話,還需要一個額外的適配器程序集 Common.Logging.Log4net.dll,這個程序集在 Spring.net 的文件夾中就可以直接找到。當然,還有 log4net.dll。這兩個程序集都需要被添加到網站中。具體的日志配置可以到 log4net 的配置文件中進行。
這時候的配置可能為這樣。

    <common>
      <logging>
        <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
          <arg key="configType" value="FILE-WATCH" />
          <arg key="configFile" value="~/log4net.config" />
        </factoryAdapter>
      </logging>
    </common>

 三. 下載源文件

點擊這里下載示例


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM