使用NLog实现一个简单的日志记录(包含源代码)
2011-10-06 18:00
781 查看
目前比较流行.net的Log框架是log4net,不过个人觉得log4net配置比较繁琐,这里我向大家推荐一个比较简单实用的log框架:NLog。
有兴趣的朋友可以到http://www.nlog-project.org/下载源代码和demo,这里我就不详细介绍了。
我尝试做了一个简单的demo,目的是实现一个简单的日志记录, 愿跟大家一起分享。代码如下:
public class Log
{
Create log instance
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
/content/4511279.html
http://www.cnblogs.com/xugang/archive/2008/04/09/1145384.html
有兴趣的朋友可以到http://www.nlog-project.org/下载源代码和demo,这里我就不详细介绍了。
我尝试做了一个简单的demo,目的是实现一个简单的日志记录, 愿跟大家一起分享。代码如下:
public class Log
{
Create log instance
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
/content/4511279.html
http://www.cnblogs.com/xugang/archive/2008/04/09/1145384.html
相关文章推荐
- Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
- 使用Node.js + MongoDB实现一个简单的日志分析系统
- C++实现一个简单的异常日志记录类
- 用一个简单的示例说明日志记录组件log4net的使用
- 一个使用监听器模式实现的J2ME网络编程框架,包括一个简单的登录功能实现(含源代码)
- 扔掉log4j、log4j2,自己动手实现一个多功能日志记录框架,包含文件,数据库日志写入,实测5W+/秒日志文件写入,2W+/秒数据库日志写入,虽然它现在还没有logback那么强大
- 一个使用监听器模式实现的J2ME网络编程框架,包括一个简单的登录功能实现(含源代码)
- 使用java简单实现的一个Spring框架(pom.xml仅包含Servlet jar包依赖)
- 使用Node.js + MongoDB实现一个简单的日志分析系统
- 使用Node.js + MongoDB实现一个简单的日志分析系统
- EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真
- ASP.NET Core 2.0 使用NLog实现日志记录
- Web项目中使用NLog记录日志,利用单件模式控制整个项目只有一个Logger对象的问题
- 简单实现:如何把所有的日志记录到同一个文件中???
- 如何使用纯win32函数和C语言实现一个简单的文本编辑器
- Python(27)使用python的http,cgi模块实现一个简单的web服务
- java使用动态代理来实现AOP(日志记录)的实例代码
- 使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
- Python使用multiprocessing实现一个最简单的分布式作业调度系统
- 使用Jquery原理实现一个简单的Ajax的支持JS类