使用NLog实现一个简单的日志记录(包含源代码)

     目前比较流行.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值