public static void NewDatePara(this AdoNetAppender ado, string paraName, string split) { PatternLayout layout = new MyLayout() { ConversionPattern = "%property{".Fmt(paraName).Fmt("}") }; layout.ActivateOptions(); ado.AddParameter(new AdoNetAppenderParameter { ParameterName = "".Fmt(split).Fmt(paraName), DbType = System.Data.DbType.DateTime, Layout = new Layout2RawLayoutAdapter(layout) }); }
static void CreateAdoNetLogger(string repositoryName) { ILoggerRepository rep = LogManager.GetRepository(repositoryName); string sqlServerConnStr = ConfigurationManager.ConnectionStrings["DbContext"].ToString(); AdoNetAppender adoNetAppender = new AdoNetAppender(); adoNetAppender.BufferSize = -1; adoNetAppender.ConnectionType = "System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; adoNetAppender.ConnectionString = sqlServerConnStr; adoNetAppender.CommandText = @"INSERT INTO SysLog ([Date],[Level],[Logger],[Message],[Exception],[MesID],[InterFaceNo],[Mac],[IP],[InterFaceName],[ObjectName],[RequestUrl],Data,Status,Response,RequestSystem) VALUES (@log_date, @log_level, @logger, @Message, @exception,@MesID,@InterFaceNo,@Mac,@IP,@InterFaceName,@ObjectName,@RequestUrl,@Data,@Status,@Response,@RequestSystem)"; adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@log_date", DbType = System.Data.DbType.DateTime, Layout = new log4net.Layout.RawTimeStampLayout() }); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@log_level", DbType = System.Data.DbType.String, Size = 50, Layout = new Layout2RawLayoutAdapter(new PatternLayout("%level")) }); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@logger", DbType = System.Data.DbType.String, Size = 255, Layout = new Layout2RawLayoutAdapter(new PatternLayout("%logger")) }); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@exception", DbType = System.Data.DbType.String, Size = 4000, Layout = new Layout2RawLayoutAdapter(new ExceptionLayout()) }); PatternLayout layout = new MyLayout() { ConversionPattern = "%property{MesID}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@MesID", DbType = System.Data.DbType.String, Size = 200, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{InterFaceNo}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@InterFaceNo", DbType = System.Data.DbType.String, Size = 200, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{Mac}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@Mac", DbType = System.Data.DbType.String, Size = 200, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{IP}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@IP", DbType = System.Data.DbType.String, Size = 200, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{InterFaceName}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@InterFaceName", DbType = System.Data.DbType.String, Size = 200, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{ObjectName}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@ObjectName", DbType = System.Data.DbType.String, Size = 200, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{RequestUrl}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@RequestUrl", DbType = System.Data.DbType.String, Size = 500, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{Message}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@Message", DbType = System.Data.DbType.String, Size = 4000, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{Data}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@Data", DbType = System.Data.DbType.String, Size = 4000, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{Status}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@Status", DbType = System.Data.DbType.String, Size = 80, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{Response}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@Response", DbType = System.Data.DbType.String, Size = 4000, Layout = new Layout2RawLayoutAdapter(layout) }); layout = new MyLayout() { ConversionPattern = "%property{RequestSystem}" }; layout.ActivateOptions(); adoNetAppender.AddParameter(new AdoNetAppenderParameter { ParameterName = "@RequestSystem", DbType = System.Data.DbType.String, Size = 4000, Layout = new Layout2RawLayoutAdapter(layout) }); adoNetAppender.ActivateOptions(); BasicConfigurator.Configure(rep, adoNetAppender); }