不知不覺可都快又一年了,最近這段時間一直在忙着圖形方面的東西(確實快給我搞死了),雖然說時間仍是相對有的,可是精力耗費的十有十一,把問題記錄單開一欄,是爲了後續記錄使用中遇到的問題及相應的解決方法。api
關於這個日誌記錄類庫,我也不須要多說,具體配置可見:net core Webapi基礎工程搭建(四)——日誌功能log4net。app
今天恰好一個網友問我,說業務上須要不一樣級別存儲到不一樣文件,確實在日誌記錄上,常規不會把全部級別的日誌文件放到同一個,這樣會把本身眼給看壞的,由於以前作過這塊兒的操做,因此這裏也就很少說,直接看代碼吧。測試
首先,咱們須要在log4net.config中加上一個新的填充日誌的方法,這裏說下filter,很明顯,這是個過濾器,做用呢就是能夠指定記錄日誌的級別,因此,也就不用多說了,一看便知。debug
<?xml version="1.0" encoding="utf-8" ?> <configuration> <!-- This section contains the log4net configuration settings --> <log4net debug="false"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <!--很關鍵的一句,讓日誌文件不被佔用--> <file value="logs/" /> <appendToFile value="true" /> <rollingStyle value="Composite" /> <staticLogFileName value="false" /> <datePattern value="yyyyMMdd'.log'" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="10MB" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <!--這裏就是隻記錄對應級別的配置--> <appender name="RollingErrorLogAppender" type="log4net.Appender.RollingFileAppender"> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <!--很關鍵的一句,讓日誌文件不被佔用--> <file value="logs/error/" /> <appendToFile value="true" /> <rollingStyle value="Composite" /> <staticLogFileName value="false" /> <datePattern value="yyyyMMdd'.log'" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="10MB" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="ERROR" /> <levelMax value="FATAL" /> </filter> </appender> <!-- Setup the root category, add the appenders and set the default level --> <root> <level value="ALL" /> <appender-ref ref="RollingLogFileAppender" /> <!--這裏是新增一個配置--> <appender-ref ref="RollingErrorLogAppender" /> </root> </log4net> </configuration>
而後咱們來作個測試吧,問題記錄之後儘可能精簡不廢話。3d
在ValuesController的測試接口更改日誌測試爲如下代碼。日誌
#region ========日誌測試======== //日誌測試 LogUtil.Info("測試"); LogUtil.Error("錯誤測試"); #endregion
運行程序。code
咱們來看下效果,首先默認的日誌文件仍是記錄了多個級別的日誌。
xml
再來看下error下面的日誌文件。
htm
ok,基本上到這裏就結束了,其實這篇東西很少,只是想借此也開一個問題記錄欄,畢竟示例是一回事,實際業務使用又是一回事(固然,提及來這個WebApi工程很久沒動過了,唉,搞毛啊),後續仍是會繼續鼓搗東西,一點點兒的經過這個示例工程來展現效果。