使用NLog实现一个简单的日志记录(包含源代码)
目前比较流行.net的Log框架是log4net,不过个人觉得log4net配置比较繁琐,这里我向大家推荐一个比较简单实用的log框架:NLog。
有兴趣的朋友可以到http://www.nlog-project.org/下载源代码和demo,这里我就不详细介绍了。
我尝试做了一个简单的demo,目的是实现一个简单的日志记录, 愿跟大家一起分享。代码如下:
{
Create log instance#region Create log instance
private static Log log;
public static Log DefaultLog()
{
if (log == null)
{
log = new Log();
}
else
{
if (log.LogDate.Date != DateTime.Now.Date)
{
log = new Log();
}
}
return log;
}
#endregion
Logger logger;
public Log()
{
LogDate = DateTime.Now;
SimpleConfigurator.ConfigureForTargetLogging(GetFileTarget());
logger = LogManager.GetCurrentClassLogger();
}
public void Write(Exception ex)
{
try
{
logger.Info(ex.Message + "\r \n" + ex.StackTrace);
}
catch
{
}
}
public void Write(string message)
{
try
{
logger.Info(message);
}
catch
{
}
}
private string GetLogFile()
{
string fileName = "Log_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "log", fileName);
}
private FileTarget GetFileTarget()
{
FileTarget ft = new FileTarget();
ft.FileName = GetLogFile();
ft.Layout = "${longdate} ${message}";
ft.KeepFileOpen = false;
ft.Encoding = "iso-8859-2";
ft.OpenFileCacheTimeout = 10;
ft.OpenFileCacheSize = 1;
return ft;
}
private DateTime logDate;
public DateTime LogDate
{
get { return logDate; }
set { logDate = value; }
}
}
使用的时候只需要一行代码:
Log.DefaultLog().Write("aaa is ok.");
如果需要记录异常情况,代码如下:
Log.DefaultLog().Write(ex);
源代码下载:/Files/binbin1845/NLogWebTest.rar
转载于:https://www.cnblogs.com/binbin1845/archive/2008/04/28/1174791.html
使用NLog实现一个简单的日志记录(包含源代码)相关推荐
- 公布一个简单的日志记录方法 【转】-要研究
没有复杂的算法,也没有打算用log4net之类的东东.只要这个,就可以在目录的文件中,看到日志信息 一句话:简单实用. public static void Log(string message) ...
- Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验
Net Core平台灵活简单的日志记录框架NLog初体验 前几天分享的"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblog ...
- Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验
Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验 前几天分享的"[Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验][http://www ...
- 基于C#中的Trace实现一个简单的日志系统
最近在做的项目进入中期阶段,因为在基本框架结构确定以后,现阶段工作重心开始转变为具体业务逻辑的实现,在这个过程中我认为主要有两点,即保证逻辑代码的正确性和容错性.确定需求文档中隐性需求和逻辑缺陷. ...
- c语言写日志文件的代码,一个简单的日志系统的C代码实现
问题描述 实现一个简单的基于Windows的日志系统,要求写入日志文件的内容的样式如下: [时间]+[文件名]+[日志等级]+日志具体内容 如: [2015.02.2514:35:13.143][Wr ...
- Qt5之 简单的日志记录工具类
qt5 自己做的一个读写 sqlite3 的数据工具,能打开sqlite3格式的数据库文件 地址:https://blog.csdn.net/HK_5788/article/details/80963 ...
- 参考df代码写的一个简单的df命令的源代码
作者:飞空静渡 df命令可以列出加载的磁盘或各种文件的信息: 下面给出一个简单的df的命令的源码,这个源码根据df的源码进行改写,很简单,就一个主文件 :) #include <stdio.h& ...
- php如何设计一个日志类,一个简单php日志类
日志类如下,news目录为当前php文档根目录下子目录. if( ! defined('BASEPATH') ) { define ('BASEPATH', $_SERVER['DOCUMENT_RO ...
- 自己以前写的一个简单的jq,包含了 ajax,get,post,submit 等方法还有jsonp的思想
/*Name : kessToolType : javascriptFun : ToolDate : 2016年8月23日 16:13:15by : kessnote : 重写 */ (functio ...
最新文章
- [Django](1093, quot;You can#39;t specify target table #39;fee_details_invoices#39; for update in...
- LINUX下UDP实现消息镜像通信,linux环境下基于udp socket简单聊天通信
- php浏览器头部获取,如何获取PHP以显示从浏览器收到的标头?
- Python学习笔记:‘’AttributeError: NoneType object has no attribute‘’
- mysql键1键2_详解mysql基本操作详细(二)
- Android NDK学习笔记2:数组
- kaggle图像比赛中的submission文件格式解析
- 库卡机器人CELL程序解析
- 关卡 动画 蓝图 运行_UE4入门之路(基础蓝图篇):蓝图的制作
- Beetlex之websocket/tls服务压测工具
- LeetCode 1404. 将二进制表示减到 1 的步骤数(字符串加法)
- 机器人J中WPR_机器人经颅磁刺激(Robotized TMS)技术知多少?
- vue去掉#——History模式
- 0基础学python要多久-零基础学习python,要多久才可以学好并且找到工作?
- 试卷生成系统安装与卸载
- myeclipse导入项目中文乱码_建立一个可烧录的空项目
- Mac 笔记本 对Micro sd卡烧制镜像详解
- 手把手较你编写Python爬虫程序-不要干坏事哦
- 古代一些练外丹的资料
- Hexo博客标题栏背景颜色设置美化
热门文章
- 【操作系统】进程的描述与控制(这知识它不进脑子啊~!)
- 【django轻量级框架】云端系统之Django框架
- python setup用法_python的构建工具setup.py的方法使用示例
- java 写流,Java IO中的其他读写流
- linux 协议栈之socket,Linux协议栈之BSD和INET socket层(一)
- 网站SEO中内页标签该如何进行优化?
- 长尾关键词优化也要讲技巧
- 网站建设很简单,想要成功却很难
- 搭建多语言外文网站需要注意三个细节问题
- python判断字母左右两边的大写字母有_python习题,,1.26个字母大小写