log4net保存到数据库系列三、代码中xml配置log4net

时间:2020-12-02 02:37:26

园子里面有很多关于log4net保存到数据库的帖子,但是要动手操作还是比较不易,从头开始学习log4net数据库日志一、WebConfig中配置log4net

 

下面先一点一点来学习如果进行配置

1.下载,2.数据库脚本,请参考log4net保存到数据库系列一:WebConfig中配置log4net

3.配置文件

 

log4net保存到数据库系列三、代码中xml配置log4netlog4net保存到数据库系列三、代码中xml配置log4net
#region 配置参数
string XmlValue = @"
<log4net>
<appender name=""AdoNetAppender"" type=""log4net.Appender.AdoNetAppender"">
    <bufferSize value=""-1"" />
    <connectionType value=""System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"" />
    <connectionString value=""data source=[服务器地址];initial catalog=[数据库];persist security info=True;user id=[账号];password=[密码];MultipleActiveResultSets=True;"" />
    <commandText value=""INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)"" />
    <parameter>
    <parameterName value=""@log_date""  />
    <dbType value=""DateTime"" />
    <layout type=""log4net.Layout.RawTimeStampLayout"" />
    </parameter>
    <parameter>
    <parameterName value=""@thread"" />
    <dbType value=""String"" />
    <size value=""255"" />
    <layout type=""log4net.Layout.PatternLayout"">
        <conversionPattern value=""%thread"" />
    </layout>
    </parameter>
    <parameter>
    <parameterName value=""@log_level"" />
    <dbType value=""String"" />
    <size value=""50"" />
    <layout type=""log4net.Layout.PatternLayout"">
        <conversionPattern value=""%level"" />
    </layout>
    </parameter>
    <parameter>
    <parameterName value=""@logger"" />
    <dbType value=""String"" />
    <size value=""255"" />
    <layout type=""log4net.Layout.PatternLayout"">
        <conversionPattern value=""%logger"" />
    </layout>
    </parameter>
    <parameter>
    <parameterName value=""@message"" />
    <dbType value=""String"" />
    <size value=""4000"" />
    <layout type=""log4net.Layout.PatternLayout"">
        <conversionPattern value=""%message"" />
    </layout>
    </parameter>
    <parameter>
    <parameterName value=""@exception"" />
    <dbType value=""String"" />
    <size value=""2000"" />
    <layout type=""log4net.Layout.ExceptionLayout"" />
    </parameter>   
</appender>
<root>
    <level value=""ALL"" />
    <appender-ref ref=""AdoNetAppender"" />
  </root>  
</log4net>";
#endregion
配置文件

4.读取参数生成日志对象

XmlDocument log4netConfig = new XmlDocument();
log4netConfig.LoadXml(XmlValue);//读取配置文件

ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString());
XmlConfigurator.Configure(rep, log4netConfig["log4net"]);

 5.测试代码

ILog log = LogManager.GetLogger(rep.Name, "test");
log.Debug("Message")
log.Info("log4net测试");

 6.测试成功

 log4net保存到数据库系列三、代码中xml配置log4net