我的第一个开源项目-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 ...
随机推荐
- 单元测试地二蛋 先弄个两个原生模块1个原始的一个jq插件
放羊测试测完了再测这两个瞎搞的下拉列表组建 看看从单元测试模块化的角度组建会写成啥样 1:ajax请求 简单文本 2:1个页面多个实例 3:复杂展示+自定义点击+自定义处理函数 ...
- PHP遍历、删除文件夹中的所有文件
<?php header("Content-type:text/html;charset=utf-8"); /** * getDirFile 遍历文件夹中的所有文件 * @p ...
- HDU 4686 Arc of Dream(快速幂矩阵)
题目链接 再水一发,构造啊,初始化啊...wa很多次啊.. #include <cstring> #include <cstdio> #include <string&g ...
- Redis 数据类型总结—String
1.1 数据类型 Redis常用五种数据类型:string, hash, list, set, zset(sorted set). Redis内部使用一个redisObject对象来 ...
- ZeroMQ接口函数之 :zmq_unbind - 停止连接外来的请求
ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq_unbind zmq_unbind(3) ØMQ Manual - ØMQ/4.1.0 Name zmq_unbi ...
- 谢欣伦 - OpenDev原创教程 - 网络设备查找类CxNetworkHostFind & CxNetworkAdapterFind
这是一个精练的网络设备查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxNetworkHostFind的使用如下: void ...
- Unity -- EventSystem完全掌握
Event System 组成 系统生成的Event System里面主要有两个Components,分别是Event System和Standalone Input Module. 其中Standa ...
- 如何提高Java并行程序性能??
在Java程序中,多线程几乎已经无处不在.与单线程相比,多线程程序的设计和实现略微困难,但通过多线程,我们却可以获得多核CPU带来的性能飞跃,从这个角度说,多线程是一种值得尝试的技术.那么如何写出高效 ...
- 完成对数据库的CRUD操作
PS:查询相对复杂,要处理结果集,增删改则不用. package it.cast.jdbc; import java.sql.Connection; import java.sql.ResultSet ...
- java常用集合框架底层实现简介与注意点
Collection: ArrayList:1:底层实现是数组,默认长度是10.2:add(),判断是否数组越界,是数组扩容为原来的两倍.3:remove(),copy数组,size-1,释放空虚的空 ...