zoukankan      html  css  js  c++  java
  • 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>

     三. 下载源文件

    点击这里下载示例

  • 相关阅读:
    Masonry代码自动布局的简单使用。
    iOS app 如何添加引导页。
    iOS应用程序发布AppStore及更新流程
    AFN的简单二次封装
    自定义tabbar(纯代码)
    自定义tabbar(storyBoard)
    GitHub tag的使用
    cvGetSize与cvSize的区别
    越界访问,调试真的很头疼
    Hadoop对文本文件的快速全局排序
  • 原文地址:https://www.cnblogs.com/haogj/p/2614139.html
Copyright © 2011-2022 走看看