目前比较流行.net的Log框架是log4net,不过个人觉得log4net配置比较繁琐,这里我向大家推荐一个比较简单实用的log框架:NLog。
有兴趣的朋友可以到http://www.nlog-project.org/下载源代码和demo,这里我就不详细介绍了。
     我尝试做了一个简单的demo,目的是实现一个简单的日志记录, 愿跟大家一起分享。代码如下:

public class Log
{
    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实现一个简单的日志记录(包含源代码)相关推荐

  1. 公布一个简单的日志记录方法 【转】-要研究

    没有复杂的算法,也没有打算用log4net之类的东东.只要这个,就可以在目录的文件中,看到日志信息 一句话:简单实用. public static void Log(string message)   ...

  2. Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验

    Net Core平台灵活简单的日志记录框架NLog初体验 前几天分享的"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblog ...

  3. Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验

    Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验 前几天分享的"[Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验][http://www ...

  4. 基于C#中的Trace实现一个简单的日志系统

      最近在做的项目进入中期阶段,因为在基本框架结构确定以后,现阶段工作重心开始转变为具体业务逻辑的实现,在这个过程中我认为主要有两点,即保证逻辑代码的正确性和容错性.确定需求文档中隐性需求和逻辑缺陷. ...

  5. c语言写日志文件的代码,一个简单的日志系统的C代码实现

    问题描述 实现一个简单的基于Windows的日志系统,要求写入日志文件的内容的样式如下: [时间]+[文件名]+[日志等级]+日志具体内容 如: [2015.02.2514:35:13.143][Wr ...

  6. Qt5之 简单的日志记录工具类

    qt5 自己做的一个读写 sqlite3 的数据工具,能打开sqlite3格式的数据库文件 地址:https://blog.csdn.net/HK_5788/article/details/80963 ...

  7. 参考df代码写的一个简单的df命令的源代码

    作者:飞空静渡 df命令可以列出加载的磁盘或各种文件的信息: 下面给出一个简单的df的命令的源码,这个源码根据df的源码进行改写,很简单,就一个主文件 :) #include <stdio.h& ...

  8. php如何设计一个日志类,一个简单php日志类

    日志类如下,news目录为当前php文档根目录下子目录. if( ! defined('BASEPATH') ) { define ('BASEPATH', $_SERVER['DOCUMENT_RO ...

  9. 自己以前写的一个简单的jq,包含了 ajax,get,post,submit 等方法还有jsonp的思想

    /*Name : kessToolType : javascriptFun : ToolDate : 2016年8月23日 16:13:15by : kessnote : 重写 */ (functio ...

最新文章

  1. [Django](1093, quot;You can#39;t specify target table #39;fee_details_invoices#39; for update in...
  2. LINUX下UDP实现消息镜像通信,linux环境下基于udp socket简单聊天通信
  3. php浏览器头部获取,如何获取PHP以显示从浏览器收到的标头?
  4. Python学习笔记:‘’AttributeError: NoneType object has no attribute‘’
  5. mysql键1键2_详解mysql基本操作详细(二)
  6. Android NDK学习笔记2:数组
  7. kaggle图像比赛中的submission文件格式解析
  8. 库卡机器人CELL程序解析
  9. 关卡 动画 蓝图 运行_UE4入门之路(基础蓝图篇):蓝图的制作
  10. Beetlex之websocket/tls服务压测工具
  11. LeetCode 1404. 将二进制表示减到 1 的步骤数(字符串加法)
  12. 机器人J中WPR_机器人经颅磁刺激(Robotized TMS)技术知多少?
  13. vue去掉#——History模式
  14. 0基础学python要多久-零基础学习python,要多久才可以学好并且找到工作?
  15. 试卷生成系统安装与卸载
  16. myeclipse导入项目中文乱码_建立一个可烧录的空项目
  17. Mac 笔记本 对Micro sd卡烧制镜像详解
  18. 手把手较你编写Python爬虫程序-不要干坏事哦
  19. 古代一些练外丹的资料
  20. Hexo博客标题栏背景颜色设置美化

热门文章

  1. 【操作系统】进程的描述与控制(这知识它不进脑子啊~!)
  2. 【django轻量级框架】云端系统之Django框架
  3. python setup用法_python的构建工具setup.py的方法使用示例
  4. java 写流,Java IO中的其他读写流
  5. linux 协议栈之socket,Linux协议栈之BSD和INET socket层(一)
  6. 网站SEO中内页标签该如何进行优化?
  7. 长尾关键词优化也要讲技巧
  8. 网站建设很简单,想要成功却很难
  9. 搭建多语言外文网站需要注意三个细节问题
  10. python判断字母左右两边的大写字母有_python习题,,1.26个字母大小写