一、使用Log4Net将日志记录到记事本中步骤
1,将log4net.dll文件添加到项目引用中
2,写日志记录器类如下:
/// <summary> /// 日志记录器 /// </summary> public class LogWriter { /// <summary> /// 记录调试信息 /// </summary> /// <param name="message"></param> public static void Debug(string message) { log4net.ILog log = log4net.LogManager.GetLogger("Logger"); if (log.IsDebugEnabled) { log.Debug(message); } log = null; } /// <summary> /// 记录错误信息 /// </summary> /// <param name="message"></param> public static void Error(string message) { log4net.ILog log = log4net.LogManager.GetLogger("Logger"); if (log.IsErrorEnabled) { log.Error(message); } log = null; } /// <summary> /// 记录致命错误 /// </summary> /// <param name="message"></param> public static void Fatal(string message) { log4net.ILog log = log4net.LogManager.GetLogger("Logger"); if (log.IsFatalEnabled) { log.Fatal(message); } log = null; } /// <summary> /// 记录一般信息 /// </summary> /// <param name="message"></param> public static void Info(string message) { log4net.ILog log = log4net.LogManager.GetLogger("Logger"); if (log.IsInfoEnabled) { log.Info(message); } log = null; } /// <summary> /// 记录警告信息 /// </summary> /// <param name="message"></param> public static void Warn(string message) { log4net.ILog log = log4net.LogManager.GetLogger("Logger"); if (log.IsWarnEnabled) { log.Warn(message); } log = null; } }3,在web程序的根目录中添加log4net.config文件内容如下所示
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <!--<root> <level value="WARN" /> <appender-ref ref="rollingFile" /> </root>--> <logger name="Logger"> <level value="ALL" /> <appender-ref ref="rollingFile" /> </logger> <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" > <param name="File" type="" value="log/" /> <param name="AppendToFile" value="true" /> <param name="RollingStyle" value="Date" /> <datePattern value="yyyyMMdd'.txt'" /> <param name="StaticLogFileName" value="false" /> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> </layout> </appender> </log4net> </configuration>4,使用时进行如下调用就可以生成在应用程序的根目录下生成一个log文件夹,并且在文件夹中会生成以时间为名称的日志文件
LogWriter.Info("请选择认证方式Info"); LogWriter.Warn("请选择认证方式Warn"); LogWriter.Fatal("请选择认证方式Fatal"); LogWriter.Error("请选择认证方式Error"); LogWriter.Debug("请选择认证方式Debug");
二,将使用Log4Net将日志文件保存到数据库中
参考链接点击打开链接(注意:这里配置的是sql server数据库)
如要保存到Oracle或其他数据库,请链接点击打开链接,在这里你可以查询到使用Log4Net将日志信息保存到不同数据库的配置文件信息。
其中我在做将日志信息保存到Oracle数据库时,遇到些问题,我们系统使用的是Oracle.DataAccess.dll,但是很多示例中给出的是System.Data.OracleClient.dll,所有导致在配置
<connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 应该更改为<connectionType value="Oracle.DataAccess.Client.OracleConnection, Oracle.DataAccess.Client, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />在这里一定要注意Version和PublicKeyToken的准确性,否则是无法插入数据库中的。