0
点赞
收藏
分享

微信扫一扫

使用Log4Net将系统日志信息记录到记事本和数据库中


一、使用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的准确性,否则是无法插入数据库中的。


 


 

       

举报

相关推荐

0 条评论