Asp.net-Mvc
NLog 內部日誌不適用於 ASP.Net MVC
我對使用此配置記錄其內部日誌的 NLog 有疑問
<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" throwExceptions="true" internalLogFile="${basedir}/App_Data/NLog.log" internalLogLevel="Trace"> <targets> <target name="debug" xsi:type="File" fileName="${basedir}/App_Data/Site.log" /> </targets> <rules> <logger name="*" writeTo="debug" /> </rules> </nlog>目標“調試”執行良好,但 internalLogFile 僅在我將其設置為“D:/NLog.log”時才有效。
知道為什麼會這樣嗎?
您不能在 internalLogFile 屬性中使用佈局渲染器 ${…} 。它們僅用於目標的佈局:
<target layout="${...}" />嘗試使用像“..\App_Data\NLog.log”這樣的相對路徑
更新NLog 4.6 啟用了一些簡單的佈局。
該
internalLogFile屬性需要設置為絕對路徑,並且執行程序集需要具有寫入該絕對路徑的權限。以下對我有用。
- 在某處創建一個文件夾 - 例如您的
c:驅動器的路線,例如c:\logs- 編輯此文件夾的權限並將完全控制權交給所有人
- 設置你的 nlog 配置:
internalLogFile="C:\logs\nlog.txt"記住要自己清理,不要留下具有這些權限的目錄