[英]How to use AdoAppender in log4net without config
我對log4net有疑問。 如何在C#中使用ADOAppender類。 我必須捕獲數據庫中的日志。 我已經嘗試通過配置文件中的配置。並且工作正常。 我需要在代碼中配置它。
我已經嘗試使用以下代碼。並且無法正常工作
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
MemoryAppender memory = new MemoryAppender();
AdoNetAppender adoappender = new AdoNetAppender();
AdoNetAppenderParameter adoapppar = new AdoNetAppenderParameter();
AdoNetAppenderParameter adoapppar1 = new AdoNetAppenderParameter();
AdoNetAppenderParameter adoapppar2 = new AdoNetAppenderParameter();
AdoNetAppenderParameter adoapppar3 = new AdoNetAppenderParameter();
AdoNetAppenderParameter adoapppar4 = new AdoNetAppenderParameter();
AdoNetAppenderParameter adoapppar5 = new AdoNetAppenderParameter();
PatternLayout patternLayout = new PatternLayout();
adoappender.ConnectionString = "Data Source=.;Initial Catalog=xmltest;Integrated Security=false;User ID=sa;Password=dbadmin;";
adoappender.ConnectionType = "System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
adoappender.ReconnectOnError = true;
adoappender.CommandType = CommandType.StoredProcedure;
adoappender.CommandText = "DBO.splog4nettest";
adoappender.BufferSize = 1;
adoapppar.ParameterName = "@log_date";
adoapppar.DbType = DbType.DateTime;
adoapppar.Layout = new Layout2RawLayoutAdapter(patternLayout);
patternLayout.ConversionPattern = "%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}";
patternLayout.ActivateOptions();
adoappender.AddParameter(adoapppar);
adoapppar1.ParameterName = "@thread";
adoapppar1.DbType = DbType.String;
adoapppar1.Size = 255;
adoapppar1.Layout = new Layout2RawLayoutAdapter(patternLayout);
//adoapppar.Layout = (IRawLayout)patternLayout;
patternLayout.ConversionPattern = "%thread";
patternLayout.ActivateOptions();
adoappender.AddParameter(adoapppar1);
adoapppar2.ParameterName = "@log_level";
adoapppar2.DbType = DbType.String;
adoapppar2.Size = 50;
adoapppar2.Layout = new Layout2RawLayoutAdapter(patternLayout);
//adoapppar.Layout = (IRawLayout)patternLayout;
patternLayout.ConversionPattern = "%level";
patternLayout.ActivateOptions();
memory.ActivateOptions();
hierarchy.Root.AddAppender(memory);
hierarchy.Root.Level = Level.Info;
hierarchy.Configured = false;
log4net.Config.BasicConfigurator.Configure();
您尚未將AdoAppender添加到Root
hierarchy.Root.AddAppender(adoappender);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.