{"id":3185,"date":"2015-10-17T10:16:10","date_gmt":"2015-10-17T10:16:10","guid":{"rendered":"http:\/\/enjoyasp.net\/?p=3185"},"modified":"2015-10-17T10:37:34","modified_gmt":"2015-10-17T10:37:34","slug":"log4j-net%e5%86%99%e5%85%a5%e6%97%a5%e5%bf%97%e5%88%b0sqlserver","status":"publish","type":"post","link":"https:\/\/enjoyasp.net\/index.php\/2015\/10\/17\/log4j-net%e5%86%99%e5%85%a5%e6%97%a5%e5%bf%97%e5%88%b0sqlserver\/","title":{"rendered":"log4j.net\u5199\u5165\u65e5\u5fd7\u5230sqlserver"},"content":{"rendered":"<p>log4j.net\u7528\u4e86\u597d\u4e45\uff0c\u6ca1\u6709\u603b\u7ed3\u8fc7\uff0c\u8fd9\u6b21\u505a\u4e2a\u8bb0\u5f55\u3002<br \/>\n\u4f5c\u7528\uff1a\u53ef\u4ee5\u7f13\u5b58\u591a\u5c11\u6761\u518d\u5199\u5165\u5e93\uff0c\u54ea\u4e9b\u5199\u5165\u54ea\u4e9b\u4e0d\u5199\u5165\u53ef\u4ee5\u914d\u7f6e<\/p>\n<p>\u4e00\uff0clog4j.net\u8bca\u65ad<br \/>\n\u5728web.config\u6216\u8005app.config\u4e2d\u589e\u52a0\uff1a<\/p>\n<div>\n\t&nbsp;<\/div>\n<div>\n<pre class=\"brush:xml;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;\">\r\n  &lt;system.diagnostics&gt;\r\n    &lt;trace autoflush=&quot;true&quot;&gt;\r\n      &lt;listeners&gt;\r\n        &lt;add\r\n          name=&quot;textWriterTraceListener&quot;\r\n          type=&quot;System.Diagnostics.TextWriterTraceListener&quot;\r\n          initializeData=&quot;C:testlog4net.txt&quot; \/&gt;\r\n      &lt;\/listeners&gt;\r\n    &lt;\/trace&gt;\r\n  &lt;\/system.diagnostics&gt;\r\n\r\n  &lt;appSettings&gt;\r\n    &lt;add key=&quot;log4net.Internal.Debug&quot; value=&quot;true&quot;\/&gt;\r\n    &lt;\/appSettings &gt;\r\n<\/pre>\n<\/div>\n<p>\n\u4e8c\uff0c\u5199\u5165sqlserver<br \/>\n1,\u542f\u52a8\u65f6\u52a0\u8f7d<\/p>\n<pre class=\"brush:csharp;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;\">\r\nlog4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.BaseDirectory + &quot;log4net.config&quot;));\r\n<\/pre>\n<p>2\uff0c\u9875\u9762\u4e2d\u4f7f\u7528\uff1a<\/p>\n<pre class=\"brush:csharp;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;\">\r\npublic static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);\r\nlog.Error(e.StackTrace.ToString());\r\n<\/pre>\n<p>3,\u6570\u636e\u5e93\u91cc\u5efa\u8868<\/p>\n<pre class=\"brush:sql;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;\">\r\n<\/pre>\n<div>\n<pre class=\"brush:sql;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;\">\r\nUSE [K8]<\/pre>\n<\/div>\n<div>\n\tGO<\/div>\n<div>\n\t&nbsp;<\/div>\n<div>\n\t\/****** Object: &nbsp;Table [dbo].[Log4j] &nbsp; &nbsp;Script Date: 2015\/10\/17 18:37:59 ******\/<\/div>\n<div>\n\tSET ANSI_NULLS ON<\/div>\n<div>\n\tGO<\/div>\n<div>\n\t&nbsp;<\/div>\n<div>\n\tSET QUOTED_IDENTIFIER ON<\/div>\n<div>\n\tGO<\/div>\n<div>\n\t&nbsp;<\/div>\n<div>\n\tSET ANSI_PADDING ON<\/div>\n<div>\n\tGO<\/div>\n<div>\n\t&nbsp;<\/div>\n<div>\n\tCREATE TABLE [dbo].[Log4j](<\/div>\n<div>\n\t[ID] [INT] IDENTITY(1,1) NOT NULL,<\/div>\n<div>\n\t[Thread] [VARCHAR](255) NOT NULL,<\/div>\n<div>\n\t[Logger] [VARCHAR](255) NOT NULL,<\/div>\n<div>\n\t[Date] [DATETIME] NOT NULL,<\/div>\n<div>\n\t[Level] [VARCHAR](20) NOT NULL,<\/div>\n<div>\n\t[Message] [VARCHAR](4000) NOT NULL,<\/div>\n<div>\n\t&nbsp;CONSTRAINT [PK_Log4j] PRIMARY KEY CLUSTERED&nbsp;<\/div>\n<div>\n\t(<\/div>\n<div>\n\t[ID] ASC<\/div>\n<div>\n\t)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]<\/div>\n<div>\n\t) ON [PRIMARY]<\/div>\n<div>\n\t&nbsp;<\/div>\n<div>\n\tGO<\/div>\n<div>\n\t&nbsp;<\/div>\n<div>\n\tSET ANSI_PADDING OFF<\/div>\n<div>\n\tGO<\/div>\n<div>\n\t&nbsp;<\/div>\n<div>\n\t&nbsp;<\/div>\n<p>4\uff0clog4net.config\u914d\u7f6e\u5982\u4e0b<\/p>\n<pre class=\"brush:xml;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;\">\r\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;\r\n&lt;configuration&gt;\r\n  &lt;configSections&gt;\r\n    &lt;section name=&quot;log4net&quot; type=&quot;log4net.Config.Log4NetConfigurationSectionHandler, log4net&quot;\/&gt;\r\n  &lt;\/configSections&gt;\r\n\r\n  &lt;log4net&gt;\r\n    &lt;appender name=&quot;AdoNetAppender_SqlServer&quot; type=&quot;log4net.Appender.AdoNetAppender&quot;&gt;\r\n      &lt;connectionType value=&quot;System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&quot;\/&gt;\r\n      &lt;connectionString value=&quot;Data Source=127.0.0.1;Initial Catalog=mydb;User ID=sa;Password=helloworld;Connect Timeout=200;Max Pool Size=100;pooling=true;&quot;\/&gt;\r\n      &lt;commandText value=&quot;INSERT INTO Log4j ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)&quot;\/&gt;\r\n      &lt;bufferSize value=&quot;5&quot; \/&gt;     &lt;!--\u7f13\u5b58\u591a\u5c11\u6761\u518d\u5199\u5165\u5e93\u91cc--&gt;\r\n      &lt;threshold value=&quot;All&quot;\/&gt; &lt;!--\u8bb0\u5f55\u54ea\u4e9b\uff0c\u5982info,debug,error--&gt;\r\n      &lt;parameter&gt;\r\n        &lt;parameterName value=&quot;@log_date&quot;\/&gt;\r\n        &lt;dbType value=&quot;DateTime&quot;\/&gt;\r\n        &lt;layout type=&quot;log4net.Layout.PatternLayout&quot; value=&quot;%date{yyyy&#39;-&#39;MM&#39;-&#39;dd HH&#39;:&#39;mm&#39;:&#39;ss&#39;.&#39;fff}&quot;\/&gt;\r\n      &lt;\/parameter&gt;\r\n      &lt;parameter&gt;\r\n        &lt;parameterName value=&quot;@thread&quot;\/&gt;\r\n        &lt;dbType value=&quot;String&quot;\/&gt;\r\n        &lt;size value=&quot;255&quot;\/&gt;\r\n        &lt;layout type=&quot;log4net.Layout.PatternLayout&quot; value=&quot;%thread&quot;\/&gt;\r\n      &lt;\/parameter&gt;\r\n      &lt;parameter&gt;\r\n        &lt;parameterName value=&quot;@log_level&quot;\/&gt;\r\n        &lt;dbType value=&quot;String&quot;\/&gt;\r\n        &lt;size value=&quot;50&quot;\/&gt;\r\n        &lt;layout type=&quot;log4net.Layout.PatternLayout&quot; value=&quot;%level&quot;\/&gt;\r\n      &lt;\/parameter&gt;\r\n      &lt;parameter&gt;\r\n        &lt;parameterName value=&quot;@logger&quot;\/&gt;\r\n        &lt;dbType value=&quot;String&quot;\/&gt;\r\n        &lt;size value=&quot;255&quot;\/&gt;\r\n        &lt;layout type=&quot;log4net.Layout.PatternLayout&quot; value=&quot;%logger&quot;\/&gt;\r\n      &lt;\/parameter&gt;\r\n      &lt;parameter&gt;\r\n        &lt;parameterName value=&quot;@message&quot;\/&gt;\r\n        &lt;dbType value=&quot;String&quot;\/&gt;\r\n        &lt;size value=&quot;4000&quot;\/&gt;\r\n        &lt;layout type=&quot;log4net.Layout.PatternLayout&quot; value=&quot;%message&quot;\/&gt;\r\n      &lt;\/parameter&gt;\r\n    &lt;\/appender&gt;\r\n    \r\n    &lt;!-- \u63a7\u5236\u53f0\u524d\u53f0\u663e\u793a\u65e5\u5fd7   --&gt;\r\n    &lt;appender name=&quot;ColoredConsoleAppender&quot; type=&quot;log4net.Appender.ColoredConsoleAppender&quot;&gt;\r\n      &lt;mapping&gt;\r\n        &lt;level value=&quot;ERROR&quot; \/&gt;\r\n        &lt;foreColor value=&quot;Red, HighIntensity&quot; \/&gt;\r\n      &lt;\/mapping&gt;\r\n      &lt;mapping&gt;\r\n        &lt;level value=&quot;Info&quot; \/&gt;\r\n        &lt;foreColor value=&quot;Green&quot; \/&gt;\r\n      &lt;\/mapping&gt;\r\n      &lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;\r\n        &lt;conversionPattern value=&quot;%n%date{HH:mm:ss,fff} [%-5level] %m&quot; \/&gt;\r\n      &lt;\/layout&gt;\r\n\r\n      &lt;filter type=&quot;log4net.Filter.LevelRangeFilter&quot;&gt;\r\n        &lt;param name=&quot;LevelMin&quot; value=&quot;Info&quot; \/&gt;\r\n        &lt;param name=&quot;LevelMax&quot; value=&quot;Fatal&quot; \/&gt;\r\n      &lt;\/filter&gt;\r\n    &lt;\/appender&gt;\r\n\r\n\r\n    &lt;root&gt;\r\n      &lt;!--(\u9ad8) OFF &gt; FATAL &gt; ERROR &gt; WARN &gt; INFO &gt; DEBUG &gt; ALL (\u4f4e) --&gt;\r\n      &lt;level value=&quot;all&quot; \/&gt;\r\n      &lt;appender-ref ref=&quot;AdoNetAppender_SqlServer&quot;\/&gt;\r\n      &lt;!--\r\n      &lt;appender-ref ref=&quot;ColoredConsoleAppender&quot;\/&gt;\r\n &lt;appender-ref ref=&quot;RollingLogFileAppender&quot;\/&gt;\r\n       --&gt;\r\n\r\n    &lt;\/root&gt;\r\n  &lt;\/log4net&gt;\r\n&lt;\/configuration&gt;\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>log4j.net\u7528\u4e86\u597d\u4e45\uff0c\u6ca1\u6709\u603b\u7ed3\u8fc7\uff0c\u8fd9\u6b21\u505a\u4e2a\u8bb0\u5f55\u3002 \u4f5c\u7528\uff1a\u53ef\u4ee5\u7f13\u5b58\u591a\u5c11\u6761\u518d\u5199\u5165\u5e93\uff0c\u54ea\u4e9b\u5199\u5165\u54ea\u4e9b\u4e0d\u5199\u5165\u53ef\u4ee5\u914d [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3185","post","type-post","status-publish","format-standard","hentry","category-1"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts\/3185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/comments?post=3185"}],"version-history":[{"count":0,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/posts\/3185\/revisions"}],"wp:attachment":[{"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/media?parent=3185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/categories?post=3185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enjoyasp.net\/index.php\/wp-json\/wp\/v2\/tags?post=3185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}