tag:blogger.com,1999:blog-757034363076866663.post4403873751896147216..comments2023-07-19T18:59:57.943+08:00Comments on mrkt 的程式學習筆記: 使用NLog - Advanced .NET Logging (1)mrkt 的程式學習筆記http://www.blogger.com/profile/17962620480380791777noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-757034363076866663.post-74247579649447412202019-04-02T11:43:36.380+08:002019-04-02T11:43:36.380+08:00Kevin,
執行環境是於自己VS的Release Mode,採用的是.net framework
...Kevin,<br />執行環境是於自己VS的Release Mode,採用的是.net framework<br />規則因為這邊格式會濾掉關係,採用預設<br />排除登入身分與權限問題。<br />最後發現問題是出自於寫入的路徑錯誤。<br />感謝Kevin特地建立專案執行與回覆。Anonymoushttps://www.blogger.com/profile/05829569651843537242noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-69863279185821214682019-04-02T11:05:30.065+08:002019-04-02T11:05:30.065+08:00Hello, 我在自己的電腦建立一個新的 Console 專案,而且 .NET Core 或 .NE...Hello, 我在自己的電腦建立一個新的 Console 專案,而且 .NET Core 或 .NET Framework 都有<br />NuGet 安裝 NLog 與 NLog.Config<br />使用預設的 target 和 rule 設定,在 Visual Studio 2017 裡用偵錯模式去執行程式<br />組態分別使用 Debug, Release<br />Log 都有正確寫入到指定路徑的檔案裡<br />另外再直接使用發佈的方法,將專案發佈為單獨可執行的檔案,也都能夠建立資料夾和 LOG 檔案並把 log 寫進檔案中<br /><br />因為你的提問與後續都沒有詳細的說明執行環境與程式相關設定內容<br />(專案類型 mvc webapi or webform, 是 .net core 或 .net framework ... etc)<br />所以我一直都不清楚你的情況<br />是在自己本機的 Visual Studio 執行偵錯模式呢?還是發布為單獨可執行程式在自己本機運作,還是放在 server 裡執行? 程式執行時所使用的登入身份為何?是否有磁碟讀寫權限等?<br />諸如此類的一些線索都是解決問題的關鍵,如果一點線索都沒有給,是要怎麼找出原因呢?<br /><br />要好好學習提問的能力mrkt 的程式學習筆記https://www.blogger.com/profile/17962620480380791777noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-19561303564992800942019-04-02T09:14:27.108+08:002019-04-02T09:14:27.108+08:00規則的格式好像上不來,我這邊僅放上屬性內容
target: xsi:type="File...規則的格式好像上不來,我這邊僅放上屬性內容 <br />target: xsi:type="File" name="file" fileName="${basedir}/App_Data/Logs/${shortdate}/${logger}.txt<br />rule: name="*" writeTo="file"Anonymoushttps://www.blogger.com/profile/05829569651843537242noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-37730469734886694862019-04-02T09:13:19.247+08:002019-04-02T09:13:19.247+08:00對的
對的<br /><br />Anonymoushttps://www.blogger.com/profile/05829569651843537242noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-71655926100581886342019-04-02T09:10:30.416+08:002019-04-02T09:10:30.416+08:00作者已經移除這則留言。Anonymoushttps://www.blogger.com/profile/05829569651843537242noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-31263605385660295632019-04-01T09:21:55.643+08:002019-04-01T09:21:55.643+08:00你是說專案為 console 嗎你是說專案為 console 嗎mrkt 的程式學習筆記https://www.blogger.com/profile/17962620480380791777noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-90098564830170154712019-03-29T15:30:00.814+08:002019-03-29T15:30:00.814+08:00是使用Console的專案
targets
Rules
Configuration Transf...是使用Console的專案<br />targets<br /><br />Rules<br /><br />Configuration Transform並沒有Anonymoushttps://www.blogger.com/profile/05829569651843537242noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-91676037929913172662019-03-29T15:06:17.613+08:002019-03-29T15:06:17.613+08:00大哉問... 要看你的 NLog.config 是怎麼寫的
是 ASP.NET Core 還是 AS...大哉問... 要看你的 NLog.config 是怎麼寫的<br />是 ASP.NET Core 還是 ASP.NET MVC/API (.net framework) 或 WebForm 專案呢?<br />有沒有使用 Configuration Transform 功能去建立不同組態的 NLog.config 呢?<br />線索提供詳細一些才能夠知道你的問題為何是 在 Realease 沒有卻 在 Debug 是正常的原因mrkt 的程式學習筆記https://www.blogger.com/profile/17962620480380791777noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-57791467339507824242019-03-29T12:01:34.173+08:002019-03-29T12:01:34.173+08:00Kevin,
想請問為什麼我再Release的狀況下執行,是沒有產生Log的呢?
但在Debug卻是...Kevin,<br />想請問為什麼我再Release的狀況下執行,是沒有產生Log的呢?<br />但在Debug卻是正常的Anonymoushttps://www.blogger.com/profile/05829569651843537242noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-8277243883229854792014-10-17T17:05:20.716+08:002014-10-17T17:05:20.716+08:00好的,謝謝Kevin兄~~~好的,謝謝Kevin兄~~~DavidChenghttps://www.blogger.com/profile/04518879324320625980noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-12593464055130794542014-10-15T00:07:55.361+08:002014-10-15T00:07:55.361+08:00其實好好善用你所用來開發的 Visual Studio,基本的語法檢查、編譯檢查等,不論什麼版本都會...其實好好善用你所用來開發的 Visual Studio,基本的語法檢查、編譯檢查等,不論什麼版本都會有提供足夠的資訊給我們知道,在編輯程式時有錯誤或是沒有引用到或是錯誤使用 Namespace 時都會有提示說明,編譯檢查也是一樣,所以這些基本的 Visual Studio 的操作與認識是一定要好好地瞭解。mrkt 的程式學習筆記https://www.blogger.com/profile/17962620480380791777noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-44516181636126653542014-10-14T13:52:50.391+08:002014-10-14T13:52:50.391+08:00Hi Kevin兄,
我採您的建議把LogUtility.cs建立在Infrastructure 下...Hi Kevin兄,<br />我採您的建議把LogUtility.cs建立在Infrastructure 下的Logging 資料夾中<br />然後在LogUtility.cs加入您提供的BuildExceptionMessage()範例<br />再到HomeControllers的About()裡加上logger.Fatal(LogUtility.BuildExceptionMessage(ex));<br />它會跟我說「使用名稱'LogUtility'不存在目前內容中」<br />這時候我照您的吩咐在HomeControllers加上正確Namespace<br />結果「使用名稱'LogUtility'不存在目前內容中」就消失了!<br />原來是我之前加入Namespace時Namespace格式不正確導致<br />好像是這樣的格式 using ProjectName.ClassName 才對...(是吧??)<br />不好意思,初學者才可能有的疏忽...<br />感謝您的解惑喔~~~<br />DavidChenghttps://www.blogger.com/profile/04518879324320625980noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-71997564327990271972014-10-14T10:54:56.131+08:002014-10-14T10:54:56.131+08:00Hello, 你好
其實不適合放在 Controllers 目錄下,我會建議你在專案裡另外建立一個目...Hello, 你好<br />其實不適合放在 Controllers 目錄下,我會建議你在專案裡另外建立一個目錄,一般我會使用「Infrastructure」取其基礎建設或基礎設施的意思,然後在 Infrastructure 下再建立一個 Logging 資料夾,而 LogUtility.cs 就會建立在這個資料夾內。<br />雖然 LogUtility.BuildExceptionMessage() 是公開的靜態方法,所以要在 Controller 裡去使用的話,記得要加入 Namespace,<br />照理說如果將 LogUtility.cs 放在 Controllers 目錄下,雖然不適合,但是只要程式沒有問題的話,在 Controller 裡應該可以正常使用,而且不需要另外加入 Namespace,除非你的 BuildExceptionMessage() 沒有加上 static 的修飾詞,因為你給我的訊息不是很多,所以我只能這樣推論。mrkt 的程式學習筆記https://www.blogger.com/profile/17962620480380791777noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-47948745197005020862014-10-14T09:29:09.165+08:002014-10-14T09:29:09.165+08:00請問Kevin兄,
MVC如何使用共用方法呢...
LogUtility.cs應該要放在哪個目錄下?...請問Kevin兄,<br />MVC如何使用共用方法呢...<br />LogUtility.cs應該要放在哪個目錄下?<br />我把它放在Controllers目錄下,可是HomeControllers的About()裡加上logger.Fatal(LogUtility.BuildExceptionMessage(ex));<br />它會跟我說「使用名稱'LogUtility'不存在目前內容中」<br />這該如何是好??<br />初學者向您請教~DavidChenghttps://www.blogger.com/profile/04518879324320625980noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-82776388285625238022014-04-01T11:23:35.935+08:002014-04-01T11:23:35.935+08:00這個我就不清楚你所發行主機的設定為何,一般來說是不會限制,因為我這邊無論是使用 Windows 20...這個我就不清楚你所發行主機的設定為何,一般來說是不會限制,因為我這邊無論是使用 Windows 2003 or 2008 or 2012 都沒有這樣的狀況出現。mrkt 的程式學習筆記https://www.blogger.com/profile/17962620480380791777noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-45707530452826715902014-04-01T10:57:13.985+08:002014-04-01T10:57:13.985+08:00請問一下,我在本機跑記錄LOG都正常,但發行到IIS之後,下面這個訊息反而無法完整記錄下來,可以告訴...請問一下,我在本機跑記錄LOG都正常,但發行到IIS之後,下面這個訊息反而無法完整記錄下來,可以告訴我應該要怎麼做嗎??<br /> message.AppendLine("Stack Trace : " + logException.StackTrace);<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-68763419894892083342013-12-13T15:57:33.747+08:002013-12-13T15:57:33.747+08:00抱歉,對於這個功能就沒有研究過。抱歉,對於這個功能就沒有研究過。mrkt 的程式學習筆記https://www.blogger.com/profile/17962620480380791777noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-21539792651659984172013-12-13T13:22:33.830+08:002013-12-13T13:22:33.830+08:00請問一下 利用GMAIL發信可以有附件嗎?請問一下 利用GMAIL發信可以有附件嗎?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-59379232026588875462013-12-13T13:21:29.740+08:002013-12-13T13:21:29.740+08:00作者已經移除這則留言。Anonymoushttps://www.blogger.com/profile/06314886817109760086noreply@blogger.comtag:blogger.com,1999:blog-757034363076866663.post-50766534069027509692012-10-20T17:56:33.736+08:002012-10-20T17:56:33.736+08:00網誌管理員已經移除這則留言。Anonymousnoreply@blogger.com