{"id":674,"date":"2019-10-09T16:36:15","date_gmt":"2019-10-09T08:36:15","guid":{"rendered":"http:\/\/iqotom.com\/?p=674"},"modified":"2019-10-09T16:40:43","modified_gmt":"2019-10-09T08:40:43","slug":"c-log4net%e9%85%8d%e7%bd%ae%e5%92%8c%e4%bd%bf%e7%94%a8","status":"publish","type":"post","link":"http:\/\/iqotom.com\/?p=674","title":{"rendered":"C# log4net\u914d\u7f6e\u548c\u4f7f\u7528"},"content":{"rendered":"\n<p>\u9879\u76ee\u7684\u65e5\u5fd7\u7ec4\u4ef6\u5bf9\u4e0e\u5f00\u53d1\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u8fd9\u6837\u65e2\u65b9\u4fbf\u524d\u671f\u7684\u5f00\u53d1\u6d4b\u8bd5\u4e5f\u65b9\u4fbf\u9879\u76ee\u540e\u671f\u7684\u9879\u76ee\u7ef4\u62a4\uff0c\u8fd9\u91cc\u7b80\u5355\u8bb0\u5f55\u4e0bc# log4net\u914d\u7f6e\u4f7f\u7528\u65b9\u6cd5\uff0c\u4ee5\u4fbf\u67e5\u9605<\/p>\n\n\n\n<p>1.\u53f3\u952e\u89e3\u51b3\u65b9\u6848\uff0c\u9009\u62e9\u7ba1\u7406NuGet\u7a0b\u5e8f\u5305<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"329\" height=\"109\" src=\"http:\/\/iqotom.com\/wp-content\/uploads\/2019\/10\/log4net_1.png\" alt=\"\" class=\"wp-image-675\" srcset=\"http:\/\/iqotom.com\/wp-content\/uploads\/2019\/10\/log4net_1.png 329w, http:\/\/iqotom.com\/wp-content\/uploads\/2019\/10\/log4net_1-300x99.png 300w\" sizes=\"(max-width: 329px) 100vw, 329px\" \/><figcaption>NuGet<\/figcaption><\/figure><\/div>\n\n\n\n<p>2.\u5b89\u88c5log4net\uff0c\u6b63\u5e38\u4f1a\u5728bin\u76ee\u5f55\u751f\u6210log4net.dll<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"730\" height=\"186\" src=\"http:\/\/iqotom.com\/wp-content\/uploads\/2019\/10\/log4net_2.png\" alt=\"\" class=\"wp-image-681\" srcset=\"http:\/\/iqotom.com\/wp-content\/uploads\/2019\/10\/log4net_2.png 730w, http:\/\/iqotom.com\/wp-content\/uploads\/2019\/10\/log4net_2-300x76.png 300w\" sizes=\"(max-width: 730px) 100vw, 730px\" \/><figcaption>log4net<\/figcaption><\/figure><\/div>\n\n\n\n<p>3.\u7f16\u8f91\u9879\u76ee\u914d\u7f6e\u6587\u4ef6\uff0cApp.config<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;configSections>\n    &lt;section name=\"log4net\" type=\"log4net.Config.Log4NetConfigurationSectionHandler,log4net\" \/>\n  &lt;\/configSections>\n  &lt;log4net>\n    &lt;logger name=\"logerror\">\n      &lt;level value=\"ERROR\" \/>\n      &lt;appender-ref ref=\"ErrorAppender\" \/>\n    &lt;\/logger>\n    &lt;logger name=\"loginfo\">\n      &lt;level value=\"INFO\" \/>\n      &lt;appender-ref ref=\"InfoAppender\" \/>\n    &lt;\/logger>\n    &lt;appender name=\"ErrorAppender\" type=\"log4net.Appender.RollingFileAppender\">\n      &lt;param name=\"File\" value=\"Log\/\/LogError\/\/\" \/>\n\t\t&lt;!--\u662f\u5426\u8ffd\u52a0\u5230\u6587\u4ef6-->\n      &lt;param name=\"AppendToFile\" value=\"true\" \/>\n &lt;!--\u662f\u5426\u53ea\u5199\u5230\u4e00\u4e2a\u6587\u4ef6\u4e2d-->\n      &lt;param name=\"StaticLogFileName\" value=\"false\" \/>\n&lt;!\u2014\u6b64\u5904\u6309\u65e5\u671f\u4ea7\u751f\u6587\u4ef6\u5939\uff0c\u6587\u4ef6\u540d\u56fa\u5b9a-->\n      &lt;param name=\"DatePattern\" value=\"\"Logs_\"yyyyMMdd\".txt\"\"\/>\n&lt;!-- \u6309\u7167\u4f55\u79cd\u65b9\u5f0f\u4ea7\u751f\u591a\u4e2a\u65e5\u5fd7\u6587\u4ef6(\u65e5\u671f[Date],\u6587\u4ef6\u5927\u5c0f[Size],\u6df7\u5408[Composite]) -->\n&lt;param name=\"RollingStyle\" value=\" Composite \" \/>\n&lt;!-- \u6bcf\u4e2a\u6587\u4ef6\u7684\u5927\u5c0f\u3002\u53ea\u5728\u6df7\u5408\u65b9\u5f0f\u4e0e\u6587\u4ef6\u5927\u5c0f\u65b9\u5f0f\u4e0b\u4f7f\u7528, \u8d85\u51fa\u5927\u5c0f\u540e\u5728\u6240\u6709\u6587\u4ef6\u540d\u540e\u81ea\u52a8\u589e\u52a0\u6b63\u6574\u6570\u91cd\u65b0\u547d\u540d -->\n&lt;param name=\"maximumFileSize\" value=\"10KB\" \/>\n&lt;!--\u6700\u591a\u4ea7\u751f\u7684\u65e5\u5fd7\u6587\u4ef6\u6570\uff0c\u8d85\u8fc7\u5219\u53ea\u4fdd\u7559\u6700\u65b0\u7684n\u4e2a\u3002\u8bbe\u5b9a\u503cvalue=\"\uff0d1\"\u4e3a\u4e0d\u9650\u6587\u4ef6\u6570-->\n&lt;param name=\"MaxSizeRollBackups\" value=\"2\" \/>\n&lt;!--\u8bb0\u5f55\u7684\u683c\u5f0f-->\n      &lt;layout type=\"log4net.Layout.PatternLayout\">\n        &lt;param name=\"ConversionPattern\" value=\"%d [%t] %-5p %c - %m%n\" \/>\n      &lt;\/layout>\n    &lt;\/appender>\n    &lt;appender name=\"InfoAppender\" type=\"log4net.Appender.RollingFileAppender\">\n      &lt;param name=\"File\" value=\"Log\/\/LogInfo\/\/\" \/>\n      &lt;param name=\"AppendToFile\" value=\"true\" \/>\n      &lt;param name=\"MaxSizeRollBackups\" value=\"10\" \/>\n      &lt;param name=\"maximumFileSize\" value=\"10MB\" \/>\n      &lt;param name=\"StaticLogFileName\" value=\"false\" \/>\n      &lt;param name=\"DatePattern\" value=\"\"Logs_\"yyyyMMdd\".txt\"\" \/>\n      &lt;param name=\"RollingStyle\" value=\"Composite\" \/>\n      &lt;layout type=\"log4net.Layout.PatternLayout\">\n        &lt;param name=\"ConversionPattern\" value=\"%d [%t] %-5p %c - %m%n\" \/>\n      &lt;\/layout>\n    &lt;\/appender>\n  &lt;\/log4net><\/code><\/pre>\n\n\n\n<p>4.\u5728Assemblyinfo.cs\u6dfb\u52a0\u4ee5\u4e0b\u4ee3\u7801<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = \"config\", Watch = true)]<\/code><\/pre>\n\n\n\n<p>5.\u5c01\u88c5\u4e00\u4e2aLogHelper.cs\u65e5\u5fd7\u7c7b\uff0c\u4ee5\u4fbf\u7ba1\u7406log4net<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class LogHelper\n    {\n        public static readonly log4net.ILog Loginfo = log4net.LogManager.GetLogger(\"loginfo\");\n\n        public static readonly log4net.ILog Logerror = log4net.LogManager.GetLogger(\"logerror\");\n\n        private LogHelper()\n        {\n        }\n\n        public static void SetConfig()\n        {\n            log4net.Config.XmlConfigurator.Configure();\n        }\n\n        public static void WriteLog(string info)\n        {\n            if (Loginfo.IsInfoEnabled)\n            {\n                Loginfo.Info(info);\n            }\n        }\n\n        public static void WriteLog(string info, Exception ex)\n        {\n            if (Logerror.IsErrorEnabled)\n            {\n                Logerror.Error(info, ex);\n            }\n        }\n}\n<\/code><\/pre>\n\n\n\n<p>6.\u8c03\u7528&nbsp;LogHelper.WriteLog(**)\u63a5\u53e3\uff0c\u4fbf\u4f1a\u5728\u7a0b\u5e8f\u76ee\u5f55\u751f\u6210log4net\u7684\u65e5\u5fd7\u6587\u4ef6\u4e86<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"824\" height=\"269\" src=\"http:\/\/iqotom.com\/wp-content\/uploads\/2019\/10\/log4net_3.png\" alt=\"\" class=\"wp-image-677\" srcset=\"http:\/\/iqotom.com\/wp-content\/uploads\/2019\/10\/log4net_3.png 824w, http:\/\/iqotom.com\/wp-content\/uploads\/2019\/10\/log4net_3-300x98.png 300w, http:\/\/iqotom.com\/wp-content\/uploads\/2019\/10\/log4net_3-768x251.png 768w\" sizes=\"(max-width: 824px) 100vw, 824px\" \/><figcaption>log4net<\/figcaption><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u9879\u76ee\u7684\u65e5\u5fd7\u7ec4\u4ef6\u5bf9\u4e0e\u5f00\u53d1\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u8fd9\u6837\u65e2\u65b9\u4fbf\u524d\u671f\u7684\u5f00\u53d1\u6d4b\u8bd5\u4e5f\u65b9\u4fbf\u9879\u76ee\u540e\u671f\u7684\u9879\u76ee\u7ef4\u62a4\uff0c\u8fd9\u91cc\u7b80\u5355\u8bb0\u5f55\u4e0bc# l\u2026 <span class=\"read-more\"><a href=\"http:\/\/iqotom.com\/?p=674\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":679,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56,4],"tags":[57,62],"_links":{"self":[{"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/posts\/674"}],"collection":[{"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/iqotom.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=674"}],"version-history":[{"count":3,"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/posts\/674\/revisions"}],"predecessor-version":[{"id":682,"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/posts\/674\/revisions\/682"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/media\/679"}],"wp:attachment":[{"href":"http:\/\/iqotom.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/iqotom.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=674"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/iqotom.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}