zoukankan      html  css  js  c++  java
  • Enterprise Library 3.0 Logging Application Block 记录日志至数据库

        安装Enterprise Library 3.0及其源码,然后编译源码,在EntLib3Src\App Blocks\bin文件夹中生成37dll文件,包括了Enterprise Library 3.0的所有“Block”,EntLibConfig.exe是可视化配置文件改写工具,正因为这个可视化配置工具,我才没有选用Log4Net而选用了Logging做为日志记录组件,也才有了今天的这篇随笔。

        本文说一下如何使用Logging把日志记录到数据库中,对于记录至其它文件/媒体介质不做叙述。

    1.LoggingDatabase.sql

    LoggingDatabase.sql文件在EntLib3Src\App Blocks\Src\Logging\TraceListeners\Database\Scripts下,如果要把日志记录在数据库,那么请先使用此sql脚本创建数据库。

    执行此sql脚本后,生成三个表:CategoryCategoryLogLog,四个存储过程:AddCategoryClearLogsInsertCategoryLogWriteLog

    2.创建你的web项目或windows项目,将EntLib3Src\App Blocks\bindll(37dll不是全部用到,我偷懒给全部复制过来了)复制到创建的项目的bin中,同时将EntLibConfig.exe文件也复制过来吧。

    3.启动EntLibConfig.exe,并打开你的项目的web.configapp.config,如下图:

     

    4.Connection Strings节点右键,new-> Connection String,连接字符串改为第1步中创建的数据库的连接字符串,如:Database= Logging;Server=ZT-103\SQLEXPRESS;uid=sa;pwd=123;

    注意 Connection String”也是可以改名的,修改后保存,见下图:

     

    因为记录日志至数据库,使用到了Data Access Application Block,所以这一步是配置了一个Data Access实例做为数据记录源。配置完了,可以将LocalSqlServer删除掉,不删除也不影响,反正后边也用不到。

    5.按下图所示,从右键菜单新建一个“Logging Application Block

     

    在新建的Logging Application Block节点下自动出现了Filters,Category Source,Special Source,Trace Listeners,Formatters这样的几个节点,如下:

     

    这五个节点说明
    Filters:设定过滤器,可设置那些日志会被记录下来,可以按日志分类,优先级,自定义日志过滤条件。
    Category Source:按分类设定该分类的消息记录到的目标位置,如你可以设置A分类记录在数据库,而B分类记录在文本文件;
    Special Source:根据日志的事件类型,来指定日志记录的目标位置,如你可以将错误&警告信息记录在数据库,其它的事件类型的日志记录在系统日志;
    Trace Listeners:Enterprise Library 3.0 提供了10种Trace Listeners,分别用于将日志信息记录到不同目的地中,可以记录至文本文件,事件日志,Email,XML文档,数据库,Msmq消息队列,windows的事件日志等;
    Formatters:它用于指定日志信息的格式,有三种格式:Text,Custom,Binary;


    6.
    Trace Listeners上右键,new->Database Trace Listener,如下图所示设置:

     

    7.选择Special Sources->Logging Errors & Warnings->Formatted EventLog TraceListener,将ReferencedTraceListener更换成:Database Trace Listener,将Formatter指定为Text Formatter,如下图:

     

    8.同时将Category Sources-> General-> Formatted EventLog TraceListener中的ReferencedTraceListener也换成:Database Trace Listener,将Formatter指定为Text Formatter,如下图:

     

    9.在你的web页中添加如下代码,测试日志记录功能:


    打开数据库查看,正常的话,应该可以看见一条新记录。

    晚上写的,有点累了写的象流水帐,没什么心得可言,对于初次接触Logging的同行来说,希望能通过一个简单的过程,让自己的Logging跑起来,我的目标就达到了。其它的,各位看官有问题请回复,园子里有好多篇关于Logging Application Block 1.0/2.0的文章,可以搜索一下,另外2.0和3.0的Logging Block使用上并没有太大区别,可以参考一下。
  • 相关阅读:
    Java学习(运算符,引用数据类型)
    Java学习(基本语句,语法,变量)
    Java学习(简介,软件安装)
    MySQL连接查询(多表查询)
    MySQL数据约束
    VS code MacOS 环境搭建
    三维空间中xoy平面上特定抛物线的正等测投影解析解的一种求法
    抛物线正等测投影的解析解求法
    抛物线正等测投影数值解的求法
    反向工程“你的使用说明书”小记
  • 原文地址:https://www.cnblogs.com/yao/p/734748.html
Copyright © 2011-2022 走看看