Ejemplo n.º 1
0
        /// <summary>
        /// 初始化日志配置文件
        /// </summary>
        public static void InitLogConfig()
        {
            var appPath = PlatformConfig.ServerConfig.ConfigFilePath;

            if (!System.IO.Directory.Exists(appPath))
            {
                System.IO.Directory.CreateDirectory(appPath);
            }
            string configPath = System.IO.Path.Combine(appPath, "log4net.xml");

            if (!System.IO.File.Exists(configPath))
            {
                //http://www.convertstring.com/zh_CN/EncodeDecode/UrlEncode
                var config = @"%3c%3fxml+version%3d%221.0%22+encoding%3d%22utf-8%22+%3f%3e%0d%0a%3cconfiguration%3e%0d%0a++%3cconfigSections%3e%0d%0a++++%3csection+name%3d%22log4net%22+type%3d%22log4net.Config.Log4NetConfigurationSectionHandler%2c+log4net-net-1.0%22++++%2f%3e%0d%0a++%3c%2fconfigSections%3e%0d%0a++%3clog4net%3e%0d%0a++++%3c!--+%e6%97%a5%e5%bf%97%e7%ba%a7%e5%88%ab%ef%bc%9a%0d%0a%e7%ba%a7%e5%88%ab+%e5%85%81%e8%ae%b8%e7%9a%84%e6%96%b9%e6%b3%95+Boolean%e5%b1%9e%e6%80%a7+%e4%bc%98%e5%85%88%e7%ba%a7%e5%88%ab+%0d%0aOFF+++++++++++++++++++++++++Highest+%0d%0aFATAL+void+Fatal(...)%3b+bool+IsFatalEnabled%3b%0d%0aRROR+void+Error(...)%3b+bool+IsErrorEnabled%3b%0d%0aWARN+void+Warn(...)%3b+bool+IsWarnEnabled%3b%0d%0aINFO+void+Info(...)%3b+bool+IsInfoEnabled%3b%0d%0aDEBUG+void+Debug(...)%3b+bool+IsDebugEnabled%3b%0d%0aALL+++++++++++++++++++++++++Lowest%0d%0a--%3e%0d%0a++++%3croot%3e%0d%0a++++++%3clevel+value%3d%22ALL%22+%2f%3e%0d%0a++++++%3cappender-ref+ref%3d%22LogFileAppender%22+%2f%3e%0d%0a++++++%3c!--%3cappender-ref+ref%3d%22ConsoleAppender%22+%2f%3e%0d%0a++++++%3cappender-ref+ref%3d%22AdoNetAppender%22+%2f%3e--%3e%0d%0a++++%3c%2froot%3e%0d%0a++++%3clogger+name%3d%22BusinessLog%22%3e%0d%0a++++++%3clevel+value%3d%22DEBUG%22%2f%3e%0d%0a++++++%3cappender-ref+ref%3d%22BusinessLog%22+%2f%3e%0d%0a++++++%3c!--%3cappender-ref+ref%3d%22DBBusinessLog%22+%2f%3e--%3e%0d%0a++++%3c%2flogger%3e%0d%0a++++%3clogger+name%3d%22ExceptionLog%22%3e%0d%0a++++++%3clevel+value%3d%22FATAL%22%2f%3e%0d%0a++++++%3cappender-ref+ref%3d%22ExceptionLog%22+%2f%3e%0d%0a++++++%3c!--%3cappender-ref+ref%3d%22DBExceptionLog%22+%2f%3e--%3e%0d%0a++++%3c%2flogger%3e%0d%0a++++%3clogger+name%3d%22BusinessExceptionLog%22%3e%0d%0a++++++%3clevel+value%3d%22DEBUG%22%2f%3e%0d%0a++++++%3cappender-ref+ref%3d%22BusinessExceptionLog%22+%2f%3e%0d%0a++++++%3c!--%3cappender-ref+ref%3d%22DBBusinessExceptionLog%22+%2f%3e--%3e%0d%0a++++%3c%2flogger%3e%0d%0a++++%3clogger+name%3d%22PlatformExceptionLog%22%3e%0d%0a++++++%3clevel+value%3d%22FATAL%22%2f%3e%0d%0a++++++%3cappender-ref+ref%3d%22PlatformExceptionLog%22+%2f%3e%0d%0a++++++%3c!--%3cappender-ref+ref%3d%22DBExceptionLog%22+%2f%3e--%3e%0d%0a++++%3c%2flogger%3e%0d%0a++++%0d%0a++++%3c!--+%e6%97%a5%e5%bf%97%e8%be%93%e5%87%ba%e6%a0%bc%e5%bc%8f%e5%8c%96%ef%bc%9a%0d%0a%25m(message)%3a%e8%be%93%e5%87%ba%e7%9a%84%e6%97%a5%e5%bf%97%e6%b6%88%e6%81%af%ef%bc%8c%e5%a6%82ILog.Debug(%e2%80%a6)%e8%be%93%e5%87%ba%e7%9a%84%e4%b8%80%e6%9d%a1%e6%b6%88%e6%81%af%0d%0a%25n(new+line)%3a%e6%8d%a2%e8%a1%8c%0d%0a%25d(datetime)%3a%e8%be%93%e5%87%ba%e5%bd%93%e5%89%8d%e8%af%ad%e5%8f%a5%e8%bf%90%e8%a1%8c%e7%9a%84%e6%97%b6%e5%88%bb%0d%0a%25r(run+time)%3a%e8%be%93%e5%87%ba%e7%a8%8b%e5%ba%8f%e4%bb%8e%e8%bf%90%e8%a1%8c%e5%88%b0%e6%89%a7%e8%a1%8c%e5%88%b0%e5%bd%93%e5%89%8d%e8%af%ad%e5%8f%a5%e6%97%b6%e6%b6%88%e8%80%97%e7%9a%84%e6%af%ab%e7%a7%92%e6%95%b0%0d%0a%25t(thread+id)%3a%e5%bd%93%e5%89%8d%e8%af%ad%e5%8f%a5%e6%89%80%e5%9c%a8%e7%9a%84%e7%ba%bf%e7%a8%8bID%0d%0a%25p(priority)%3a+%e6%97%a5%e5%bf%97%e7%9a%84%e5%bd%93%e5%89%8d%e4%bc%98%e5%85%88%e7%ba%a7%e5%88%ab%ef%bc%8c%e5%8d%b3DEBUG%e3%80%81INFO%e3%80%81WARN%e2%80%a6%e7%ad%89%0d%0a%25c(class)%3a%e5%bd%93%e5%89%8d%e6%97%a5%e5%bf%97%e5%af%b9%e8%b1%a1%e7%9a%84%e5%90%8d%e7%a7%b0%ef%bc%8c%e4%be%8b%e5%a6%82%ef%bc%9a%0d%0a+++++++%e6%a8%a1%e5%bc%8f%e5%ad%97%e7%ac%a6%e4%b8%b2%e4%b8%ba%ef%bc%9a%25-10c+-%25m%25n%0d%0a+++++++%e4%bb%a3%e7%a0%81%e4%b8%ba%ef%bc%9a%0d%0aILog+log%3dLogManager.GetLogger(%e2%80%9cExam.Log%e2%80%9d)%3b%0d%0alog.Debug(%e2%80%9cHello%e2%80%9d)%3b%0d%0a++++%e5%88%99%e8%be%93%e5%87%ba%e4%b8%ba%e4%b8%8b%e9%9d%a2%e7%9a%84%e5%bd%a2%e5%bc%8f%ef%bc%9a%0d%0aExam.Log+++++++-+Hello%0d%0a%25L%ef%bc%9a%e8%be%93%e5%87%ba%e8%af%ad%e5%8f%a5%e6%89%80%e5%9c%a8%e7%9a%84%e8%a1%8c%e5%8f%b7%0d%0a%25F%ef%bc%9a%e8%be%93%e5%87%ba%e8%af%ad%e5%8f%a5%e6%89%80%e5%9c%a8%e7%9a%84%e6%96%87%e4%bb%b6%e5%90%8d%0d%0a%25-%e6%95%b0%e5%ad%97%ef%bc%9a%e8%a1%a8%e7%a4%ba%e8%af%a5%e9%a1%b9%e7%9a%84%e6%9c%80%e5%b0%8f%e9%95%bf%e5%ba%a6%ef%bc%8c%e5%a6%82%e6%9e%9c%e4%b8%8d%e5%a4%9f%ef%bc%8c%e5%88%99%e7%94%a8%e7%a9%ba%e6%a0%bc%e5%a1%ab%e5%85%85%0d%0a+--%3e%0d%0a++%0d%0a++++%3cappender+name%3d%22ExceptionLog%22+type%3d%22log4net.Appender.RollingFileAppender%22+%3e%0d%0a++++++%3cparam+name%3d%22File%22+value%3d%22logs%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22AppendToFile%22+value%3d%22true%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22RollingStyle%22+value%3d%22Date%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22DatePattern%22+value%3d%22yyyy-MM%5c%5c%26quot%3bExceptionLog-%26quot%3byyyy-MM-dd%26quot%3b.txt%26quot%3b%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22StaticLogFileName%22+value%3d%22false%22+%2f%3e%0d%0a++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++%3cparam+name%3d%22Header%22+value%3d%22----------------------%5bHeader%5d-----------------------%5cr%5cn%22%2f%3e%0d%0a++++++++%3cparam+name%3d%22Footer%22+value%3d%22----------------------%5bFooter%5d------------------------%5cr%5cn%22%2f%3e%0d%0a++++++++%3c!--%3cparam+name%3d%22ConversionPattern%22+value%3d%22%25n+%25d+%25n+%5b%25t%5d+%25n+%25-5p+%25n+%25c++%25n+%25m+%25n%25n%22+%2f%3e--%3e%0d%0a++++++++%3cparam+name%3d%22ConversionPattern%22+value%3d%22%25n+datetime%3a%5b%25d%7byyy-MM-dd+HH%3amm%3ass%7d%5d%25n+thread%3a+%5b%25t%5d+%25n+logger%3a%5b%25c%5d+%25n+priority%3a+%5b%25-5p%5d+%25n+message%3a+%5b%25m%5d%25n+log+run+time%3a+%5b%25r%5d+%25n++%25n%22+%2f%3e%0d%0a++++++%3c%2flayout%3e%0d%0a++++++%3c!--%3cfilter+type%3d%22log4net.Filter.LevelRangeFilter%22%3e%0d%0a++++++++%3cparam+name%3d%22LevelMin%22+value%3d%22DEBUG%22+%2f%3e%0d%0a++++++++%3cparam+name%3d%22LevelMax%22+value%3d%22FATAL%22+%2f%3e%0d%0a++++++%3c%2ffilter%3e--%3e%0d%0a++++%3c%2fappender%3e%0d%0a++++%3c!--%e8%ae%b0%e5%bd%95%e5%88%b0%e8%ae%b0%e5%bd%95%e6%97%a5%e5%bf%97%e5%88%b0%e6%96%87%e4%bb%b6%ef%bc%8c%e5%8f%af%e4%bb%a5%e8%ae%be%e7%bd%ae%e6%96%87%e4%bb%b6%e7%9a%84%e5%90%8d%e5%ad%97%ef%bc%8c%e6%88%96%e8%80%85%e5%a4%9a%e4%b8%aa%e6%96%87%e4%bb%b6--%3e%0d%0a++++%3cappender+name%3d%22BusinessLog%22+type%3d%22log4net.Appender.RollingFileAppender%22+%3e%0d%0a++++++%3cparam+name%3d%22File%22+value%3d%22logs%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22AppendToFile%22+value%3d%22true%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22RollingStyle%22+value%3d%22Date%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22DatePattern%22+value%3d%22yyyy-MM%5c%5c%26quot%3bBusinessLog-%26quot%3byyyy-MM-dd%26quot%3b.txt%26quot%3b%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22StaticLogFileName%22+value%3d%22false%22+%2f%3e%0d%0a++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++%3cparam+name%3d%22Header%22+value%3d%22----------------------%5bHeader%5d-----------------------%5cr%5cn%22%2f%3e%0d%0a++++++++%3cparam+name%3d%22Footer%22+value%3d%22----------------------%5bFooter%5d------------------------%5cr%5cn%22%2f%3e%0d%0a++++++++%3c!--%3cparam+name%3d%22ConversionPattern%22+value%3d%22%25n+%25d+%25n+%5b%25t%5d+%25n+%25-5p+%25n+%25c++%25n+%25m+%25n%25n%22+%2f%3e--%3e%0d%0a++++++++%3cparam+name%3d%22ConversionPattern%22+value%3d%22%25n+datetime%3a%5b%25d%7byyy-MM-dd+HH%3amm%3ass%7d%5d%25n+thread%3a+%5b%25t%5d+%25n+logger%3a%5b%25c%5d+%25n+priority%3a+%5b%25-5p%5d+%25n+message%3a+%5b%25m%5d%25n+log+run+time%3a+%5b%25r%5d+%25n++%25n%22+%2f%3e%0d%0a++++++%3c%2flayout%3e%0d%0a++++++%3c!--%3cfilter+type%3d%22log4net.Filter.LevelRangeFilter%22%3e%0d%0a++++++++%3cparam+name%3d%22LevelMin%22+value%3d%22DEBUG%22+%2f%3e%0d%0a++++++++%3cparam+name%3d%22LevelMax%22+value%3d%22FATAL%22+%2f%3e%0d%0a++++++%3c%2ffilter%3e--%3e%0d%0a++++%3c%2fappender%3e%0d%0a++++%3c!--%e8%ae%b0%e5%bd%95%e5%88%b0%e8%ae%b0%e5%bd%95%e6%97%a5%e5%bf%97%e5%88%b0%e6%96%87%e4%bb%b6%ef%bc%8c%e5%8f%af%e4%bb%a5%e8%ae%be%e7%bd%ae%e6%96%87%e4%bb%b6%e7%9a%84%e5%90%8d%e5%ad%97%ef%bc%8c%e6%88%96%e8%80%85%e5%a4%9a%e4%b8%aa%e6%96%87%e4%bb%b6--%3e%0d%0a++++%3cappender+name%3d%22BusinessExceptionLog%22+type%3d%22log4net.Appender.RollingFileAppender%22+%3e%0d%0a++++++%3cparam+name%3d%22File%22+value%3d%22logs%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22AppendToFile%22+value%3d%22true%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22RollingStyle%22+value%3d%22Date%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22DatePattern%22+value%3d%22yyyy-MM%5c%5c%26quot%3bBusinessExceptionLog-%26quot%3byyyy-MM-dd%26quot%3b.txt%26quot%3b%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22StaticLogFileName%22+value%3d%22false%22+%2f%3e%0d%0a++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++%3cparam+name%3d%22Header%22+value%3d%22----------------------%5bHeader%5d-----------------------%5cr%5cn%22%2f%3e%0d%0a++++++++%3cparam+name%3d%22Footer%22+value%3d%22----------------------%5bFooter%5d------------------------%5cr%5cn%22%2f%3e%0d%0a++++++++%3cparam+name%3d%22ConversionPattern%22+value%3d%22%25n+datetime%3a%5b%25d%7byyy-MM-dd+HH%3amm%3ass%7d%5d%25n+thread%3a+%5b%25t%5d+%25n+logger%3a%5b%25c%5d+%25n+priority%3a+%5b%25-5p%5d+%25n+file+name%3a+%5b%25f%5d+%25n+line%3a+%5b%25l%5d+%25n+message%3a+%5b%25m%5d%25n%25n%22+%2f%3e%0d%0a++++++%3c%2flayout%3e%0d%0a++++%3c%2fappender%3e%0d%0a++++%3c!--%e8%ae%b0%e5%bd%95%e5%88%b0%e8%ae%b0%e5%bd%95%e6%97%a5%e5%bf%97%e5%88%b0%e6%96%87%e4%bb%b6%ef%bc%8c%e5%8f%af%e4%bb%a5%e8%ae%be%e7%bd%ae%e6%96%87%e4%bb%b6%e7%9a%84%e5%90%8d%e5%ad%97%ef%bc%8c%e6%88%96%e8%80%85%e5%a4%9a%e4%b8%aa%e6%96%87%e4%bb%b6--%3e%0d%0a++++%3cappender+name%3d%22PlatformExceptionLog%22+type%3d%22log4net.Appender.RollingFileAppender%22+%3e%0d%0a++++++%3cparam+name%3d%22File%22+value%3d%22logs%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22AppendToFile%22+value%3d%22true%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22RollingStyle%22+value%3d%22Date%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22DatePattern%22+value%3d%22yyyy-MM%5c%5c%26quot%3bPlatformExceptionLog-%26quot%3byyyy-MM-dd%26quot%3b.txt%26quot%3b%22+%2f%3e%0d%0a++++++%3cparam+name%3d%22StaticLogFileName%22+value%3d%22false%22+%2f%3e%0d%0a++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++%3cparam+name%3d%22Header%22+value%3d%22----------------------%5bHeader%5d-----------------------%5cr%5cn%22%2f%3e%0d%0a++++++++%3cparam+name%3d%22Footer%22+value%3d%22----------------------%5bFooter%5d------------------------%5cr%5cn%22%2f%3e%0d%0a++++++++%3cparam+name%3d%22ConversionPattern%22+value%3d%22%25n+datetime%3a%5b%25d%7byyy-MM-dd+HH%3amm%3ass%7d%5d%25n+thread%3a+%5b%25t%5d+%25n+logger%3a%5b%25c%5d+%25n+priority%3a+%5b%25-5p%5d+%25n+file+name%3a+%5b%25f%5d+%25n+line%3a+%5b%25l%5d+%25n+message%3a+%5b%25m%5d%25n%25n%22+%2f%3e%0d%0a++++++%3c%2flayout%3e%0d%0a++++%3c%2fappender%3e%0d%0a++++%3c!--%e8%ae%b0%e5%bd%95%e5%88%b0%e8%ae%b0%e5%bd%95%e6%97%a5%e5%bf%97%e5%88%b0%e6%8e%a7%e5%88%b6%e5%8f%b0--%3e%0d%0a++++%3cappender+name%3d%22ConsoleAppender%22+type%3d%22log4net.Appender.ConsoleAppender%22+%3e%0d%0a++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++%3cparam+name%3d%22ConversionPattern%22+value%3d%22%25n+%25d+%5b%25t%5d+%25-5p+%25c+%5b%25x%5d+-+%25m%25n%22+%2f%3e%0d%0a++++++%3c%2flayout%3e%0d%0a++++%3c%2fappender%3e%0d%0a++++%3c!--%e8%ae%b0%e5%bd%95%e5%88%b0%e8%ae%b0%e5%bd%95%e6%97%a5%e5%bf%97%e5%88%b0%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e7%9a%84%e4%ba%8b%e4%bb%b6--%3e%0d%0a++++%3cappender+name%3d%22EventLogAppender%22+type%3d%22log4net.Appender.EventLogAppender%22+%3e%0d%0a++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++%3cparam+name%3d%22ConversionPattern%22+value%3d%22%25n+%25d+%5b%25t%5d+%25-5p+%25c+%5b%25x%5d+-+%25m%25n%22+%2f%3e%0d%0a++++++%3c%2flayout%3e%0d%0a++++%3c%2fappender%3e%0d%0a++++%3c!--%e8%ae%b0%e5%bd%95%e5%88%b0%e6%95%b0%e6%8d%ae%e5%ba%93%e9%85%8d%e7%bd%aeaccess%2csqlserver%e6%88%96%e8%80%85%e5%85%b6%e4%bb%96%e7%9a%84%e6%95%b0%e6%8d%ae%e5%ba%93--%3e%0d%0a++++%3cappender+name%3d%22DBBusinessLog%22+type%3d%22log4net.Appender.AdoNetAppender%22%3e%0d%0a++++++%3cbufferSize+value%3d%221%22+%2f%3e%0d%0a++++++%3cconnectionType+value%3d%22System.Data.SqlClient.SqlConnection%2c+System.Data%2c+Version%3d1.0.3300.0%2c+Culture%3dneutral%2c+PublicKeyToken%3db77a5c561934e089%22+%2f%3e%0d%0a++++++%3cconnectionString+value%3d%22Data+Source%3d10.2.3.139%3bInitial+Catalog%3diWS_Logs%3bPersist+Security+Info%3dTrue%3bUser+ID%3dsa%3bPassword%3diws%40prod1%22+%2f%3e%0d%0a++++++%3ccommandText+value%3d%22INSERT+INTO+BusinessLog+(%5bDate%5d%2c%5bThread%5d%2c%5bLevel%5d%2c%5bLogger%5d%2c%5bMessage%5d%2c%5bException%5d)+VALUES+(%40log_date%2c+%40thread%2c+%40log_level%2c+%40logger%2c+%40message%2c+%40exception)%22+%2f%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40log_date%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22DateTime%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.RawTimeStampLayout%22+%2f%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40thread%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%22255%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25thread%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40log_level%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%2250%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25level%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40logger%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%22255%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25logger%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40message%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%224000%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25message%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40exception%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%222000%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.ExceptionLayout%22+%2f%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++%3c%2fappender%3e%0d%0a++++%3cappender+name%3d%22DBExceptionLog%22+type%3d%22log4net.Appender.AdoNetAppender%22%3e%0d%0a++++++%3cbufferSize+value%3d%221%22+%2f%3e%0d%0a++++++%3cconnectionType+value%3d%22System.Data.SqlClient.SqlConnection%2c+System.Data%2c+Version%3d1.0.3300.0%2c+Culture%3dneutral%2c+PublicKeyToken%3db77a5c561934e089%22+%2f%3e%0d%0a++++++%3cconnectionString+value%3d%22Data+Source%3d10.2.3.139%3bInitial+Catalog%3diWS_Logs%3bPersist+Security+Info%3dTrue%3bUser+ID%3dsa%3bPassword%3diws%40prod1%22+%2f%3e%0d%0a++++++%3ccommandText+value%3d%22INSERT+INTO+ExceptionLog+(%5bDate%5d%2c%5bThread%5d%2c%5bLevel%5d%2c%5bLogger%5d%2c%5bMessage%5d%2c%5bException%5d)+VALUES+(%40log_date%2c+%40thread%2c+%40log_level%2c+%40logger%2c+%40message%2c+%40exception)%22+%2f%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40log_date%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22DateTime%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.RawTimeStampLayout%22+%2f%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40thread%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%22255%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25thread%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40log_level%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%2250%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25level%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40logger%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%22255%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25logger%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40message%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%224000%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25message%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40exception%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%222000%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.ExceptionLayout%22+%2f%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++%3c%2fappender%3e%0d%0a++++%3cappender+name%3d%22DBBusinessExceptionLog%22+type%3d%22log4net.Appender.AdoNetAppender%22%3e%0d%0a++++++%3cbufferSize+value%3d%221%22+%2f%3e%0d%0a++++++%3cconnectionType+value%3d%22System.Data.SqlClient.SqlConnection%2c+System.Data%2c+Version%3d1.0.3300.0%2c+Culture%3dneutral%2c+PublicKeyToken%3db77a5c561934e089%22+%2f%3e%0d%0a++++++%3cconnectionString+value%3d%22Data+Source%3d10.2.3.139%3bInitial+Catalog%3diWS_Logs%3bPersist+Security+Info%3dTrue%3bUser+ID%3dsa%3bPassword%3diws%40prod1%22+%2f%3e%0d%0a++++++%3ccommandText+value%3d%22INSERT+INTO+BusinessExceptionLog+(%5bDate%5d%2c%5bThread%5d%2c%5bLevel%5d%2c%5bLogger%5d%2c%5bMessage%5d%2c%5bException%5d)+VALUES+(%40log_date%2c+%40thread%2c+%40log_level%2c+%40logger%2c+%40message%2c+%40exception)%22+%2f%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40log_date%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22DateTime%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.RawTimeStampLayout%22+%2f%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40thread%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%22255%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25thread%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40log_level%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%2250%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25level%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40logger%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%22255%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25logger%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40message%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%224000%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.PatternLayout%22%3e%0d%0a++++++++++%3cconversionPattern+value%3d%22%25message%22+%2f%3e%0d%0a++++++++%3c%2flayout%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++++%3cparameter%3e%0d%0a++++++++%3cparameterName+value%3d%22%40exception%22+%2f%3e%0d%0a++++++++%3cdbType+value%3d%22String%22+%2f%3e%0d%0a++++++++%3csize+value%3d%222000%22+%2f%3e%0d%0a++++++++%3clayout+type%3d%22log4net.Layout.ExceptionLayout%22+%2f%3e%0d%0a++++++%3c%2fparameter%3e%0d%0a++++%3c%2fappender%3e%0d%0a++%3c%2flog4net%3e%0d%0a%3c%2fconfiguration%3e%0d%0a";
                System.IO.File.AppendAllText(configPath, System.Web.HttpUtility.UrlDecode(config));
            }

            LogConfig.SetConfig(configPath);
        }