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. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  2. ImageView缩放选项

    ImageView.ScaleType 将图片边界缩放到所在view边界时的缩放选项. Options for scaling the bounds of an image to the bounds ...

  3. React 入门教程

    React 起源于Facebook内部项目,是一个用来构建用户界面的 javascript 库,相当于MVC架构中的V层框架,与市面上其他框架不同的是,React 把每一个组件当成了一个状态机,组件内 ...

  4. React在开发中的常用结构以及功能详解

    一.React什么算法,什么虚拟DOM,什么核心内容网上一大堆,请自行google. 但是能把算法说清楚,虚拟DOM说清楚的聊聊无几.对开发又没卵用,还不如来点干货看看咋用. 二.结构如下: impo ...

  5. android http 抓包

    有时候想开发的时候想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得到一些不为人知的api,比如还可以干些“坏事”... 需要工具: Fiddler2 抓包(点击下载) Android ...

  6. android通过webview调起支付宝app支付

    webview在加载网页的时候会默认调起手机自带的浏览器加载网页,用户体验不好.但当用户设置浏览器客户端(setWebViewClient)设置这样的监听事件之后,当请求url的时候就不会打开手机自带 ...

  7. iOS网络4——Reachability检测网络状态

    一.整体介绍 前面已经介绍了网络访问的NSURLSession.NSURLConnection,还有网页加载有关的webview,基本满足通常的网络相关的开发. 其实在网络开发中还有比较常用的就是网络 ...

  8. docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用

    .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看 ...

  9. 三大框架SSH整合

    三大框架SSH整合 -------------------------------Spring整合Hibernate------------------------------- 一.为什么要整合Hi ...

  10. 机器指令翻译成 JavaScript —— No.4 动态跳转

    上一篇,我们用模拟流程的方式,解决了跳转问题. 不过静态跳转,好歹事先是知道来龙去脉的.而动态跳转,只有运行时才知道要去哪.既然流程都是未知的,翻译从何谈起? 动态跳转,平时出现的多吗?非常多!除了 ...