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 ...
随机推荐
- ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”
在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...
- SASS教程sass超详细教程
SASS安装及使用(sass教程.详细教程) 采用SASS开发CSS,可以提高开发效率. SASS建立在Ruby的基础之上,所以得先安装Ruby. Ruby的安装: 安装 rubyinstaller- ...
- 认识 Azure
本文为官网摘录总结
- jQuery.Ajax IE8 无效(CORS)
今天在开发的时候,遇到一个问题,$.get()在 IE8 浏览器不起作用,但 Chrome,Firefox 却是可以的,网上资料很多,最后发现是 IE8 默认不支持 CORS 请求,需要手动开启下: ...
- 多线程条件通行工具——AbstractQueuedSynchronizer
本文原创,转载请注明出处! 参考文章: <"JUC锁"03之 公平锁(一)> <"JUC锁"03之 公平锁(二)> AbstractOw ...
- Ajax实现原理,代码封装
都知道实现页面的异步操作需要使用Ajax,那么Ajax到是怎么实现异步操作的呢? 首先需要认识一个对象 --> XMLHttpRequest 对象 --> Ajax的核心.它有许多的属性和 ...
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
- CentOS下mysql数据库常用命令总结
mysql数据库使用总结 本文主要记录一些mysql日常使用的命令,供以后查询. 1.更改root密码 mysqladmin -uroot password 'yourpassword' 2.远程登陆 ...
- C语言中如何判断文件是否存在
方法一:access函数判断文件夹或者文件是否存在 函数原型: int access(const char *filename, int mode); 所属头文件:io.h filename:可以填写 ...
- if __name__== "__main__" 的意思(作用)python代码复用
if __name__== "__main__" 的意思(作用)python代码复用 转自:大步's Blog http://www.dabu.info/if-__-name__ ...