log4net在vs2008中的使用及需注意的地方
时间:2010-09-10 来源:乔帮主
1 添加引用。
2 添加配置。
代码 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<log4net>
<logger name="InfoLog">
<level value="INFO" />
<appender-ref ref="ConsoleAppender" />
</logger>
<logger name="ErrorLog">
<level value="ERROR" />
<appender-ref ref="ErrorLogAppender" />
</logger>
<appender name="ErrorLogAppender" type="log4net.Appender.RollingFileAppender">
<param name="file" value="FileLogData\ErrorLog.txt"/>
<param name="appendToFile" value="true" />
<param name="rollingStyle" value="Size" />
<param name="maxSizeRollBackups" value="10" />
<param name="maximumFileSize" value="10MB" />
<param name="staticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="conversionPattern" value="异常时间:%d 线程:[%t] 异常级别:%-5p 异常类:%c [%x] - %m%n"/>
</layout>
</appender>
<appender name="InfoLogAppender" type="log4net.Appender.RollingFileAppender">
<param name="file" value="FileLogData\InfoLog.txt" />
<param name="appendToFile" value="true" />
<param name="rollingStyle" value="Size" />
<param name="maxSizeRollBackups" value="10" />
<param name="maximumFileSize" value="10MB" />
<param name="staticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="conversionPattern" value="操作时间:%d 线程:[%t] 日志级别:%-5p 日志类:%c [%x] - %m%n"/>
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="conversionPattern" value="%d Thread:[%t] - %m%n"/>
</layout>
</appender>
</log4net>
</configuration>
需要说明的是:<param name="file" value="FileLogData\InfoLog.txt" />这句是指生成的日志文件存放位置,此处是指在当前应用程序目录生成一个名为FileLogData的文件夹,在该文件夹下生成名为InfoLog.txt的日志文件。
3 在AssemblyInfo.cs文件中写入下面代码。
[assembly: log4net.Config.DOMConfigurator()]
这句很重要,如果不写,log4net就会失效。
完成了上面的配置之后,就可以使用log4net进行日志记录了。
当然,为了简便,通常的做法是把调用方法写在一个通用类里面,然后调用类的方法,如下:
代码 public class LogHelper
{
public static readonly log4net.ILog InfoLog = log4net.LogManager.GetLogger("InfoLog");
public static readonly log4net.ILog ErrorLog = log4net.LogManager.GetLogger("ErrorLog");
public LogHelper()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 写普通信息
/// </summary>
/// <param name="infoMsg"></param>
public static void WriteLog(string infoMsg)
{
//log4net.ILog InfoLog = log4net.LogManager.GetLogger("InfoLog");
string msg = "";
if (InfoLog.IsInfoEnabled)
{
InfoLog.Info(msg + infoMsg);
}
}
/// <summary>
/// 写错误信息
/// </summary>
/// <param name="infoMsg"></param>
/// <param name="e"></param>
public static void WriteLog(string infoMsg, Exception e)
{
string msg = "异常信息:";
if (ErrorLog.IsErrorEnabled)
{
ErrorLog.Error(msg + infoMsg, e);
}
}
}
在需要使用的页面,直接调用,如:LogHelper.WriteLog("--------Start--------");
相关阅读 更多 +