CYQ.Data V5 从入门到放弃ORM系列:教程 - Log、SysLogs两个日志类使用
Log 静态类介绍:
Public Static (Shared) Methods
| 获取异常的内部信息 | |
| Overloaded. 将日志写到数据库中[需要配置LogConn项后方生效 ] | |
| 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
说明:
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两个日志类使用的更多相关文章
- CYQ.Data V5 从入门到放弃ORM系列:框架的优势
前言: 框架开源后,学习使用的人越来越多了,所以我也更加积极的用代码回应了. 在框架完成了:数据库读写分离功能 和 分布式缓存功能 后: 经过三天三夜的不眠不休,终于完成框架第三个重量级的功能:自动化 ...
- CYQ.Data V5 从入门到放弃ORM系列:教程 - AppConfig、AppDebug类的使用
1:AppConfig类的介绍: Public Static (Shared) Properties IsEnumToInt 是否使用表字段枚举转Int方式(默认为false). 设置为true时,可 ...
- CYQ.Data V5 从入门到放弃ORM系列:教程 - MProc类使用
MProc介绍 MProc:是一个用于执行SQL或存储过程的数据库操作类,它轻量高性能地类似于Dapper. MProc:它出现的场景很少,因为MAction自身就能处理掉90%-100%的数据操作( ...
- CYQ.Data V5 从入门到放弃ORM系列:教程 - MAction类使用
背景: 随着V5框架使用者的快速增加,终于促使我开始对整个框架编写完整的Demo. 上周大概花了一星期的时间,每天写到夜里3点半,终完成了框架所有功能的Demo. 同时,按V5框架名称空间的顺序,对每 ...
- CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维
前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...
- 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
- 终于等到你:CYQ.Data V5系列 (ORM数据层,支持.NET Core)最新版本开源了
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
- CYQ.Data V5 分布式自动化缓存设计介绍(二)
前言: 最近一段时间,开始了<IT连>创业,所以精力和写的文章多数是在分享创业的过程. 而关于本人三大框架CYQ.Data.Aries.Taurus.MVC的相关文章,基本都很少写了. 但 ...
- CYQ.Data V5 分布式缓存Redis应用开发及实现算法原理介绍
前言: 自从CYQ.Data框架出了数据库读写分离.分布式缓存MemCache.自动缓存等大功能之后,就进入了频繁的细节打磨优化阶段. 从以下的更新列表就可以看出来了,3个月更新了100条次功能: 3 ...
随机推荐
- Vagrant 基础全面解析
这篇 Vagrant 入门文章将带你创建一个 Vagrant 项目,这个过程将会用到 Vagrant 所提供的主要基本特性.如果想了解 Vagrant 能为你带来哪些好处,可以阅读 Vagrant 官 ...
- GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级
一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public sta ...
- redux-amrc:用更少的代码发起异步 action
很多人说 Redux 代码多,开发效率低.其实 Redux 是可以灵活使用以及拓展的,经过充分定制的 Redux 其实写不了几行代码.今天先介绍一个很好用的 Redux 拓展-- redux-amrc ...
- vmware里面的名词 vSphere、vCenter Server、ESXI、vSphere Client
vmware里面的名词 vSphere.vCenter Server.ESXI.vSphere Client vSphere.vCenter Server.ESXI.vSphere Client VS ...
- Xamarin与Visual stuido2015离线安装包分享
最近看见大伙留言才知道国内安装Xamarin开发原来这么艰辛啊! 第一:网速不快 第二:Android SDK下载受限 等等... 鉴于这些原因,特写下这篇文章以及分享打包好的离线包以帮助大家尽快体验 ...
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- JDK动态代理
一.基本概念 1.什么是代理? 在阐述JDK动态代理之前,我们很有必要先来弄明白代理的概念.代理这个词本身并不是计算机专用术语,它是生活中一个常用的概念.这里引用维基百科上的一句话对代理进行定义: A ...
- Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP
回到目录 .Net MVC之所以发展的如些之好,一个很重要原因就是它公开了一组AOP的过滤器,即使用这些过滤器可以方便的拦截controller里的action,并注入我们自己的代码逻辑,向全局的异常 ...
- Struts2入门(五)——OGNL和标签库
一.前言 OGNL和标签库的作用,粗暴一点说,就是减少在JSP页面中出现java代码,利于维护. 1.1.OGNL 1.1.1.什么是OGNL? OGNL(Object-Graph Navigatio ...
- 【转】 FineBI:自助式BI工具打造业务分析的“快与准”
如今的企业经营方式,业务对于数据分析有极大的需求,但却苦于没有数据以及工具的有效支持,业务分析仍就依赖于IT报表制作.而IT方不断地按业务需求去调研.确认业务逻辑,然后取数做报表,其中还要忍受业务的需 ...