NET问答: Log4Net 无法将日志写入到 log 文件的求助.....
咨詢區
john84:
我在一個小項目中用上了 Log4Net,程序跑起來后沒有任何日志寫入到 log 文件,可能是我的 log appender 配的有問題,尷尬????,大家看看我這樣配的有問題嗎?
web.config 完整的配置如下。
<configSections><p?name="log4net"?type="log4net.Config.Log4NetConfigurationSectionHandler,?log4net"?requirePermission="false"/>???????? </configSections><log4net><appender?name="LogFileAppender"?type="log4net.Appender.FileAppender"><file?value="D:\MyData\Desktop\LogFile.txt"?/><appendToFile?value="true"?/><encoding?value="utf-8"?/><layout?type="log4net.Layout.SimpleLayout"?/></appender><root><level?value="INFO"?/><appender-ref?ref="LogFileAppender"?/></root> </log4net>然后在 global.ascx 中是這樣配置的。
ILog?logger?=?LogManager.GetLogger(typeof(MvcApplication));然后是 Application_Start 方法。
logger.Info("Starting?the?application...");為啥消息 Starting the application... ?沒有寫入到 log 中哈。。。
回答區
Andreas Paulsson:
你還缺了一個調用
log4net.Config.XmlConfigurator.Configure();把它放到一個代碼可以執行到的地方,比如:Global.asax
void?Application_Start(object?sender,?EventArgs?e)? {//?Code?that?runs?on?application?startup//?Initialize?log4net.log4net.Config.XmlConfigurator.Configure(); }你也可以放到 AssemblyInfo.cs 的尾部。
[assembly:?log4net.Config.XmlConfigurator(Watch?=?true)]Ayub:
確保 log4net.config 的屬性面板上一定要設置為 Copy always。
Rahatur:
在我的場景下,我需要給 IIS_IUSRS 賦予一個讀寫 logfile 的權限。
點評區
首先說一下為啥要精選本題,因為大佬們提到的坑,我都踩到了。。。后來不得已,將 操作步驟 寫入到 印象筆記 中,搞笑的是最近部署一個新加坡項目時,剛好就遇到了當前 IIS 用戶沒有寫入權限,各種報錯,也是尷尬。
原文鏈接:hhttps://stackoverflow.com/questions/3618380/log4net-does-not-write-the-log-in-the-log-file
總結
以上是生活随笔為你收集整理的NET问答: Log4Net 无法将日志写入到 log 文件的求助.....的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Asp.Net Core 5 REST
- 下一篇: CAP-分布式事务的解决方案