Spring.NET 1.3.2 集成 NHibernate 3.2 - 3 - 监控及日志
2012-07-30 22:04
351 查看
现在,我们的网站已经可以初步工作了。
但是,Spring.NET 在后面做了些什么呢?我们定义的对象都有哪些?我们需要一个强大的工具来看到后面发生了什么。
但是,这个太简单了。
支持如下的日志实现:
• 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
当然,这也需要配置。
具体日志的输出目标和设置在 common/logging 中进行定义。
例如,我们希望使用 Visual Studio 的 Trace 输出,以便在 Visual Studio 的调试输出窗口中看到日志信息。那么,可以如下进行配置。
在 Common.Logging 中定义了如下的适配器:
ConsoleOutLogger,使用 ConsoleOutLoggerFactoryAdapter 作为适配器
NoOpLogger,使用 NoOpLoggerFactoryAdapter 作为适配器
TraceLogger,使用 TraceLoggerFactoryAdapter 作为适配器
现在,在调试模式中运行网站,在 Visual Studio 的调试输出窗口中,可以看到如下的信息。
你可以看到 Spring.NET 工作的每一个细节。
如果使用 log4net 的话,还需要一个额外的适配器程序集 Common.Logging.Log4net.dll,这个程序集在 Spring.net 的文件夹中就可以直接找到。当然,还有 log4net.dll。这两个程序集都需要被添加到网站中。具体的日志配置可以到 log4net 的配置文件中进行。
这时候的配置可能为这样。
三. 下载源文件
点击这里下载示例。
但是,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>
三. 下载源文件
点击这里下载示例。
相关文章推荐
- Spring.NET 1.3.2 集成 NHibernate 3.2 - 5 - 事务管理
- Spring.NET 1.3.2 集成 NHibernate 3.2 - 5 - 事务管理
- Spring.NET 1.3.2 集成 NHibernate 3.2 - 1 - 下载软件
- Spring.NET 1.3.2 集成 NHibernate 3.2 - 1 - 下载软件
- Spring.NET 1.3.2 集成 NHibernate 3.2 - 2 - 配置使用 Spring.NET 的网站
- Spring.NET 1.3.2 集成 NHibernate 3.2 - 5 - 事务管理
- Spring.NET 1.3.2 集成 NHibernate 3.2 - 1 - 下载软件
- Spring.NET 1.3.2 集成 NHibernate 3.2 - 4 - 实现基本的数据访问
- 使Spring.NET 1.3.2支持NHibernate 3.2 ByCode方式的映射
- FastSpring.NET V2.05 final 发布[集成Spring.net & NHibernate & Ajax]
- FastSpring.NET V2.05 final 发布[集成Spring.net & NHibernate & Ajax]
- FastSpring.NET V2.05 final 发布[集成Spring.net & NHibernate & Ajax]
- 使用Spring.Net 1.3.2 + NHibernate 3.2的mapping by code和default convention
- 集成 Spring.NET 1.3.1 和 NHibernate 3.1
- SPRING.NET 1.3.2 学习24--通用日志功能
- 关于Spring.net+NHibernate的事务控制
- Spring.Net结合NHibernate入门教程
- 使用Spring.Net 1.3.2实现Container(IoC)(一)IoC、DI、Spring.NET、Ioc Container、 ClassicContainer
- Spring.NET学习笔记19——整合NHibernate和ASP.NET MVC(基础篇) Level 300
- Spring.NET企业架构实践之 Nhibernate + WCF + ASP.NET MVC + NVelocity 对PetShop4.0重构(二)——领域模型