如何在C#项目中使用日志,之前很纠结,不知道怎么使用log4net这玩意来记录程序日志,因为本身对C#就不了解,甚至没接触过,还是被赶鸭子上架,去做C#项目开发。废话不多说,言归正传,在写日志记录之前,其实也有在网上看了一些关于C#使用log4net的文章,在此做个自己的使用见解吧。
log4net是Apache的一个开源项目,可在Apache官网上下载log4net,下载后解压,将得到这样一个文件目录:
然后点击src文件夹,打开文件夹后,将得到这样一个文件目录
使用VS2008或者VS2010,或者更高版本打开解决方案,然后编译项目,在路径“\log4net-1.2.13-src\log4net-1.2.13\build\bin\net\2.0\debug”下,会看到一个编译好的dll文件以及log4net.xml,到此,log4net编译完毕。接下来到了最主要的调用部分了。
1、使用VS创建一个新项目(我使用的是VS2010),然后,将编译得到的dll文件和xml文件拷贝到项目debug(或release)目录下。
2、右击项目解决方案中的“引用”->添加引用,将log4net.dll引入。
3、创建新的工具类LogHelper,用于封装log的方法,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using log4net;
namespace LogDemo.log
{
public class LogHelper
{
public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
public static readonly log4net.ILog logdebug = log4net.LogManager.GetLogger("logdebug");
/// <summary>
/// 输出Info信息
/// </summary>
/// <param name="info"></param>
public static void Info(string info)
{
if (loginfo.IsInfoEnabled)
{
loginfo.Info(info);
}
}
/// <summary>
/// 输出Debug信息
/// </summary>
/// <param name="info"></param>
public static void Debug(string info)
{
if (logdebug.IsDebugEnabled)
{
logdebug.Debug(info);
}
}
/// <summary>
/// 输出Error信息
/// </summary>
/// <param name="info"></param>
public static void Error(string info)
{
if (logerror.IsErrorEnabled)
{
logerror.Error(info);
}
}
}
}
4、调用日志方法,直接使用静态调用的方式调用即可,如
LogHelper.Debug("hello,log4net");
5、注意问题:
当在编写代码或编译的时候,会出错,如
可右击解决方案->属性,将目标框架“.Net Framework 4 Client Profile”修改成“.Net Framework 4”,即可解决问题,如下图所示:
OK,至此,在C#中使用log4net的过程描述完毕,希望这个简浅的过程能帮到大家!