监控及日志

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>
复制代码

 三. 下载源文件

点击这里下载示例

分类: Spring.NET
原文地址:https://www.cnblogs.com/Leo_wl/p/2615999.html