修改Nlog.config
不知為什麼這張圖看不清楚, 只好再打一次, 也方便 copy - paste
以下放入 <targets> 區段內
<target xsi:type="File" name="Log123" fileName="${basedir}/../../logs/XXXXXXXX.log.txt"
layout="* ${date:format=yyyy-MM-dd HH\:mm\:ss.fff} ${threadid} ${uppercase:${level}} ${message} ${exception:format=tostring}"
archiveFileName="${basedir}/../../logs/XXXXXXXX.log.{#}.txt"
archiveEvery="Day"
archiveNumbering="Rolling"
maxArchiveFiles="60"
concurrentWrites="true"
keepFileOpen="false"
encoding="UTF-8"
/>
** 2019/03 補充:
上面的例子中, <target> 標籤中的屬性 fileName, 是搭配 Console 程式的寫法. 如果是 ASP.NET, 寫成 "${basedir}/App_Data/logs/XXXXXXXX.txt" 就可以了.
logs 目錄及裡面的log檔, 會自動建立在網站目錄App_Data之下
archiveFileName 屬性中的路徑, 記得也要配合修改
如果是在開發階段, 使用VS.Net的IIS Express測試的話, 應該不用對App_Data這個資料夾設定讀寫權限, 因為用的就是目前寫程式的你的權限
(你應該有你的桌機/筆電的Admin權限吧?)
但是移轉到Server上之後, 就要把 App_Data 資料夾的寫入權限, 開放給 IIS App Domain 所設定的帳戶
以下放入 <rules>區段內
<logger name="*" minlevel="Trace" writeTo="Log123" />
程式這樣寫
class Program
{
private static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
logger.Info("Test OK!");
}
}
Log 就出來了.
以上.