Log 静态类介绍:

Public Static (Shared) Methods

GetExceptionMessage 获取异常的内部信息
WriteLogToDB Overloaded. 将日志写到数据库中[需要配置LogConn项后方生效 ]
WriteLogToTxt Overloaded. 将日志写到外部txt[web.config中配置路径,配置项为Logpath,默认路径为 "Logs/" ] 

说明:

1:这个类很简单,主要的使用方法只有:WriteLogToTxt。

2:WriteLogToDB这个方法(只是SysLogs的简单封装用法,内部用的较多,后续可能会屏蔽此方法,可以暂不介绍)。

3:GetExceptionMessage只是从Exception里获取字符串,所以没啥好说。

Log类的Demo代码:

 static void Main(string[] args)
{
ExeLog();
// ExeSysLog();
Console.Read();
} static void ExeLog()
{
AppConfig.Log.IsWriteLog = true;
AppConfig.Log.LogPath = "自定义错误日志";
Log.WriteLogToTxt("这是错误信息");
Log.WriteLogToTxt("这是错误信息", LogType.Assert);
Log.WriteLogToTxt("这是错误信息", LogType.Debug);
Log.WriteLogToTxt("这是错误信息", LogType.Error);
Log.WriteLogToTxt("这是错误信息", LogType.Info);
Log.WriteLogToTxt("这是错误信息", LogType.Warn);
Console.WriteLine("请查看Debug目录");
}

运行后的目录情况:

说明:

1:AppConfig类对应属性都是可以配置在Web.Config或App.Config,示例代码中直接用代码配置了。

2:IsWriteLog要配置为True,才会写文本(不配置默认抛异常,不写日志)。

SysLogs 实例类:

Public Instance Properties

CreateTime 创建时间
ID 标识主键
LogType 日志类型
Message 日志内容
PageUrl 请求的地址
UserName 记录者用户名 

说明:

1:SysLogs该类主要用来写数据库日志用(Log类是写文本)。

2:需要配置LogConn的数据库链接,如果和默认在同一个数据库,配置LogConn为Conn即可。

3:实例后用Insert方法即可。

SysLogs 类的Demo代码:

static void ExeSysLog()
{
AppConfig.Log.LogConn = "txt path={0}txtdb";//演示只有用文本数据库来演示了
AppConfig.Log.LogTableName = "MyLogs";//可以更改表名
using (SysLogs sl=new SysLogs())//往数据库里写一条错误日志
{
sl.Message = "这是错误信息";
sl.PageUrl = “http://code.taobao.org/svn/cyqopen/trunk/CYQ.Data.GettingStarted/”;
sl.UserName = "路过秋天";
sl.LogType = "Sys";
sl.Insert();
List<SysLogs> list = sl.Select<SysLogs>();
Console.WriteLine("现在的有:" + list.Count + "条数据");
} //
Log.WriteLogToDB("呵呵", LogType.Error, "cyq");//和使用sysLogs一样。
}

说明:

1:需要指定LogConn:数据库对应的链接。

2:指定LogTableName:指定表名(不指定则默认表名为SysLogs)

3:如果默认没有对应的表,会自动创建。

4:实例后就是普通ORM的增删改查操作。

5:简化的写法是调用Log.WriteLogToDB。

总结:

经过不断的优化各简化后,最终对外的使用方法灰常的简单。

项目的Demo示例源码,用SVN checkout:http://code.taobao.org/svn/cyqopen/trunk/CYQ.Data.GettingStarted/

最后谢谢大伙的支持!

CYQ.Data V5 从入门到放弃ORM系列:教程 - Log、SysLogs两个日志类使用的更多相关文章

  1. CYQ.Data V5 从入门到放弃ORM系列:框架的优势

    前言: 框架开源后,学习使用的人越来越多了,所以我也更加积极的用代码回应了. 在框架完成了:数据库读写分离功能 和 分布式缓存功能 后: 经过三天三夜的不眠不休,终于完成框架第三个重量级的功能:自动化 ...

  2. CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用

    1:AppConfig类的介绍: Public Static (Shared) Properties IsEnumToInt 是否使用表字段枚举转Int方式(默认为false). 设置为true时,可 ...

  3. CYQ.Data V5 从入门到放弃ORM系列:教程 - MProc类使用

    MProc介绍 MProc:是一个用于执行SQL或存储过程的数据库操作类,它轻量高性能地类似于Dapper. MProc:它出现的场景很少,因为MAction自身就能处理掉90%-100%的数据操作( ...

  4. CYQ.Data V5 从入门到放弃ORM系列:教程 - MAction类使用

    背景: 随着V5框架使用者的快速增加,终于促使我开始对整个框架编写完整的Demo. 上周大概花了一星期的时间,每天写到夜里3点半,终完成了框架所有功能的Demo. 同时,按V5框架名称空间的顺序,对每 ...

  5. CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维

    前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...

  6. 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了

    前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...

  7. 终于等到你:CYQ.Data V5系列 (ORM数据层,支持.NET Core)最新版本开源了

    前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...

  8. CYQ.Data V5 分布式自动化缓存设计介绍(二)

    前言: 最近一段时间,开始了<IT连>创业,所以精力和写的文章多数是在分享创业的过程. 而关于本人三大框架CYQ.Data.Aries.Taurus.MVC的相关文章,基本都很少写了. 但 ...

  9. CYQ.Data V5 分布式缓存Redis应用开发及实现算法原理介绍

    前言: 自从CYQ.Data框架出了数据库读写分离.分布式缓存MemCache.自动缓存等大功能之后,就进入了频繁的细节打磨优化阶段. 从以下的更新列表就可以看出来了,3个月更新了100条次功能: 3 ...

随机推荐

  1. ASP.NET Core框架揭秘(持续更新中…)

    之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本.到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进 ...

  2. 从零开始编写自己的C#框架(24)——测试

    导航 1.前言 2.不堪回首的开发往事 3.测试推动开发的成长——将Bug消灭在自测中 4.关于软件测试 5.制定测试计划 6.编写测试用例 7.执行测试用例 8.发现并提交Bug 9.开发人员修复B ...

  3. nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...

  4. EntityFramework.Extended 支持 MySql

    EntityFramework.Extended 默认不支持 MySql,需要配置如下代码: [DbConfigurationType(typeof(DbContextConfiguration))] ...

  5. 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  6. RabbitMQ + PHP (一)入门与安装

    RabbitMQ: 1.是实现AMQP(高级消息队列协议)的消息中间件的一种. 2.主要是为了实现系统之间的双向解耦而实现的.当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层.保存这个数 ...

  7. 微信小程序开发日记——高仿知乎日报(中)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教 ...

  8. “此网页上的某个 Web 部件或 Web 表单控件无法显示或导入。找不到该类型,或该类型未注册为安全类型。”

    自从vs装了Resharper,看见提示总是手贱的想去改掉它.于是乎手一抖,把一个 可视web部件的命名空间给改了. 喏,从LibrarySharePoint.WebPart.LibraryAddEd ...

  9. 移动BPM解决方案分享

    畅通开放  无边界的渠道 效率倍增  更高效的处理方式 即时共享  更强大的决策能力 各种终端应用 帮您实现:新任务通知.任务预警.催办.任务审批.任何数据汇总提醒消息通知...... 短信 客户端: ...

  10. MySQL数据库罕见的BUG——Can't get hostname for your address

    在连接mysql jdbc时候,抛出了 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communicat ...