我的第一个开源项目-logger4Net
学会学习,学会分享,学会创造。
这我的第一个开源项目。以前总觉得开源离自己很远,但通过不断学习发现,其实自己已经走在这条路上。思想就在那,只要懂得学习,懂得分享,就会懂享受创造的快乐感与殷实感。
没做过系统运营,是不会体会到日志的重要性。特别是做支付方面的系统,如果没有log,一旦系统或网络出现故障,要找出问题的根源,那简直是个悲剧。这个我深有体会,很外隐藏的bug,都是通过log分析出来的。鉴于打log的重要性,其实已经有很多方法可以方便的记录日志。如.NET 方面的有Entlib,Log4Net。当然,也可以自定义写log的方法,但这样写出来的日志通常比较凌乱,不方便管理。
Log4Net 是一相相当完善的日志管理组件,但真正应用到项目开发中,需要开发人员去了解里面的一些配置和机制。在项目紧张的时候,开发人员是没什么时间去研究这东西的,而是把更多精力放在功能业务开发上。
所以,此小开源项目目的在于让开发人员不需要太多理会log4net 内部配置。同时通过配置工具轻松管理log4net配置。程序员创建好相关业务的logger后,
(如酒店业务需要记日志) 程序员只需要调用以下代码即:
Logger.Info(LoggerName.Hotel, "my info testmsg ");
Logger.Debug(LoggerName.Hotel, "my debug testmsg ");
Logger.Debug(LoggerName.Hotel, "my debug ", new Exception("a debug exception"));
Logger.Error(LoggerName.Hotel, "my test msg ");
Logger.Error(LoggerName.Hotel, "my test msg ", new Exception("an excetiopn comming"));
Logger.Warn(LoggerName.Hotel, "my Warn", new FieldAccessException("can't be found file!"));
以上日志执行后,会在配置文件对应的保存目录下生成一个Hotel文件, 在Hotel文件生成 Debug_当天日期.log 为格式的日志文件。 如果配置了数据库的话,也会将日志保存到数据库表中。
详细配置请参考
我的第一个开源项目-logger4Net的更多相关文章
- 聊聊第一个开源项目(内网穿透) - CProxy
文章首发:聊聊第一个开源项目 - CProxy 作者:会玩code 初衷 最近在学C++,想写个项目练练手.对网络比较感兴趣,之前使用过ngrok(GO版本的内网穿透项目),看了部分源码,想把自己的一 ...
- 我的第一个开源项目 Kiwis2 Mockserver
我的第一个开源作品Kiwis2 Mock Server,目前公测中,欢迎大家提供宝贵意见. 代码:https://github.com/kiwis2/mockserver 主页:https://kiw ...
- [COCOS2DX]第一个开源项目的部署和运行<win32版本>
1.无法加载项目: 1.1 按照之前的方法创建一个名为FirstDemo的项目,并将下载到的源代码包全部拷贝到FirstDemo中 1.2 点击demo.sln启动项目: 修改属性: 2.无法打开“g ...
- lemon OA 我长时间经历的第一个开源项目
对于原作者来说, 他长时间运营了一个项目,lemon OA .目前,八百多star.在运营这个项目的过程中,我想说,他成了activiti 目前国内比较牛逼的几个人.还有 spring securit ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- .NET平台开源项目速览(5)深入使用与扩展SharpConfig组件
上个月在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和 .NET平台开源项目速览(1)SharpConfig配置文件读写组件 中都提到了SharpConfig组件,简单轻量级 ...
- 滴滴出行开源项目doraemonkit食用指南
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/94 doraemonkit 功能介绍 一两周前在地铁上刷任 ...
- 【Java经验分享篇01】小白如何开始学会看开源项目?
目录 前言 1.理解开源 1.1.什么是开源? 1.2.开源的定义 1.2.1.开源软件优点 1.2.2.经典开源软件案例 1.3.关于开源协议 1.3.1.如何选择开源协议 2.如何查找开源项目 2 ...
- Android开源项目第一篇——个性化控件(View)篇
本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍Android上那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Ga ...
随机推荐
- PHP两个文件的相对路径
/** * relativePath 计算两个文件的相对路径 * @param file1 参作为考路径 * @param file2 相对于$file1的路径 */ function relativ ...
- likely && unlikely in GCC
在linux内核源码或一些比较成熟的c语言架构源码中,我们常会见到类似下面的代码: if (unlikely(!packet)) { return res_failed; } // OR if (li ...
- easyUI 表格
1.创建 <table id ="ID"></table> 2.属性 dategrid: columns 列的定义的数组 URl:访问远程数据的数组 [“t ...
- 多线程相关------信号量Semaphore
Semaphore用于对资源进行计数.允许一定数量的线程同时访问该资源.可以用于进程间同步 相关函数 CreateSemaphore 创建或打开一个信号量对象 HANDLE WINAPI Create ...
- Maven环境搭建
1,下载maven zip版 http://maven.apache.org/download.cgi 2,配置maven环境变量 (1) 新建MAVEN_HOME环境变量 E:\TOOLS\A ...
- Composer 学习笔记
Composer 是 PHP 的一个依赖管理工具(据说是最优秀的).它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们.目前很多项目以Composer 作为依赖管理工具,目前正在学习yii2 ...
- ios中调用友盟分享时qq可以分享但是微信失败,只显示文字,网页链接没有出现
问题如下,最后在老大各种替换的情况下,找到了原因,是因为图片失效了,友盟分享微信时必须需要图片才可以,如果服务器图片失效,则会失败: 注意下面的图片是否能够获取???????????????????? ...
- vmstat和iostat
一.vmstat1.命令示例#vmstat 5每5秒输出一次 2.输出详解procs -----------memory---------- ---swap-- -----io---- --syste ...
- C# String 前面不足位数补零的方法
int i=10;方法1:Console.WriteLine(i.ToString("D5"));方法2:Console.WriteLine(i.ToString().PadLef ...
- PHP 用 mb_strimwidth() 截取文章摘要
按字符宽度获取 mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encod ...