基于Ado.Net的日志组件

软件开发,离不开对日志的操作,它可以帮助我们查找和检测问题。好的日志组件可以对于整个系统来说,至关重要

在NaviSoft产品中,日志组件也占有非常重要的份量。如下图所示,是组件的Db表结构设计

图-1

登录日志:记录系统的登录信息,包括登录用户、登录时间、客户端信息

操作日志:记录每个功能操作信息,包括操作时间、内容和结果

异常错误日志:当整个系统

方法日志:记录每个方法的名称、参数、返回值、所在类和DLL等。用于分析方法执行时间,排查错误

API操作日志:记录API操作日志

API异常错误日志:记录API执行异常日志

API调用次数日志:记录API调用次数日志,防止超出调用次数

临时记录表:记录自定义的日志内容,只有一个字符串,可随意保存内容

整个日志组件,采用Ado.Net方式与Db交互,这也是有原因的:NaviSoft本身是采用EF作为Db组件,若日志也使用此组件,容易产生嵌套事务错误,如:保存日志失败时。部分源码如下图所示

        /// <summary>
        /// 保存登录日志
        /// </summary>
        /// <param name="modelLog"></param>
        public static void SaveLogon(loglogonBillModel modelLog)
        {
            if (modelLog == null) return;

            DbSqlAndParam dbSql = dbService.GeneSqlAndParamToInsert<loglogonBillModel>(modelLog, "log_logon");
            dbService.ExecSqlAndParamByTrans(new List<DbSqlAndParam>() { dbSql });
        }

 

另外,NaviSoft的日志组件,也将log4net的源码移植进来,如下图所示

图-2

 

此日志组件在NaviSoft产品体系中,同时应用于WinForm、WebMVC、Mobile三个场景的产品,后续将分别介绍NaviSoft的产品体系

时间: 2024-09-12 00:03:23

基于Ado.Net的日志组件的相关文章

日志组件logback介绍及配置使用方法

转载于:http://sunney2010.iteye.com/blog/1404729 一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-access.logback-core是其它两个模块的基础模块.logback-classic是log4j的一个 改良版本.此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系

基于Flume的美团日志收集系统

基于Flume的美团日志收集系统(一)架构和设计 问题导读: 1. Flume-NG与Scribe对比,Flume-NG的优势在什么地方? 2.架构设计考虑需要考虑什么问题? 3.Agent死机该如何解决? 4.Collector死机是否会有影响? 5.Flume-NG可靠性(reliability)方面做了哪些措施? 美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flu

基于HTML5的CSS框架组件BootFlat

BootFlat 是一款基于 Bootstrap 的 Flat UI 组件,跟原生的Bootstrap框架相比,BootFlat提供了更多的页面组件,同时增加了页面布局功能.与Flat UI相比更为突出的是BootFlat可以帮助你更快速的利用HTML5实现Web App开发. BootFlat的特点 BootFlat是基于bootstrap3.2.0,便于快速的开发web和mobile app的UI框架 Bootflat组件基于HTML5和CSS3设计,提供sass文件和多种色值,便于开发者修

lnav:Linux下一个基于控制台的高级日志文件查看器

服务器日志是一个由服务器创建并经常更新.用于抓取特定服务和应用的所有活动信息的日志文件.当你的应用或者服务出现问题时这个文件就会非常有用.从日志文件中你可以获取所有关于该问题的信息,例如基于警告或者错误信息它什么时候开始表现不正常. LNAV(Log file Navigator)是 Linux 下一个基于控制台的高级日志文件查看器.它和其它文件查看器,例如 cat.more.tail 等,完成相同的任务,但有很多普通文件查看器没有的增强功能(尤其是它自带多种颜色和易于阅读的格式). 它能在解压

lnav:Linux 下一个基于控制台的高级日志文件查看器

服务器日志是一个由服务器创建并经常更新.用于抓取特定服务和应用的所有活动信息的日志文件.当你的应用或者服务出现问题时这个文件就会非常有用.从日志文件中你可以获取所有关于该问题的信息,例如基于警告或者错误信息它什么时候开始表现不正常. LNAV(Log file Navigator)是 Linux 下一个基于控制台的高级日志文件查看器.它和其它文件查看器,例如 cat.more.tail 等,完成相同的任务,但有很多普通文件查看器没有的增强功能(尤其是它自带多种颜色和易于阅读的格式). 它能在解压

Node 进阶:express 默认日志组件 morgan 从入门使用到源码剖析

本文摘录自个人总结<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. 章节概览 morgan是express默认的日志中间件,也可以脱离express,作为node.js的日志组件单独使用.本文由浅入深,内容主要包括: morgan使用入门例子 如何将日志保存到本地文件 核心API使用说明及例子 进阶使用:1.日志分割 2.将日志写入数据库 源码剖析:morgan的日志格式以及预编译 入门例子 首先,初始化项目. npm insta

Windows C++ 应用程序通用日志组件(组件及测试程序下载)

引言 众所周知,在调试.跟踪和执行应用程序的过程中,程序的日志能为这些工作提供大量有价值的运行信息.因此,程序的日志对应用程序的运行.维护至关重要. 在如何记录程序日志方面,通常有三种选择: 1.采用Log4CXX等公共开源日志组件:这类日志组件的特点是跨平台且功能比较强大,例如可以把日志发往另一台服务器或记录到数据库中等:另外,可配置性较高,可以通过配置文件或程序代码对日志进行很多个性化设置.但从另外一个角度看,由于这些优点往往也导致了在使用方面的缺点.首先,对于一般应用程序来说,它们并不需要

设计一个中间件的访问日志组件

对任何一个系统,一个强大的日志记录功能是相当重要且必要的,根据日志的记录可以及时掌握系统运行时的健康状态及故障定位.然而作为web容器存在另外一种日志--访问日志.访问日志一般会记录客户端的访问相关信息,包括客户端ip.请求时间.请求协议.请求方法.请求字节数.响应码.会话id.处理时间等等.通过访问日志可以统计访问用户的数量.访问时间分布等规律及个人爱好等等,而这些数据可以帮助公司在运营策略上做出抉择. 如果让你来设计一个访问日志组件你会如何来设计?你应该很快就会想到访问日志的核心功能就是将信

VC基于ADO技术访问数据库的方法_C 语言

本文实例讲述了VC基于ADO技术访问数据库的方法.分享给大家供大家参考.具体如下: 一.在StdAfx.h文件中添加 复制代码 代码如下: #import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","rsEOF") 导入ADO引擎. 二.数据库应用层操作 void CADOExample1Dlg::OnBtnQuery() {