在C#中使用NLog進行日志輪轉,你需要在NLog配置文件中設置日志文件路徑和輪轉策略。以下是一個簡單的示例,展示了如何在NLog配置文件中設置日志輪轉:
Install-Package NLog
在你的項目中創建一個名為NLog.config
的配置文件(如果還沒有的話)。
編輯NLog.config
文件,添加以下內容:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE nlog SYSTEM "nlog.dtd">
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd http://www.nlog-project.org/schemas/NLog.xsd.xsd">
<targets>
<target name="file" xsi:type="File" fileName="logs/app.log"
layout="${date:format=yyyy-MM-dd HH:mm:ss} ${level} ${message}"
keepFileOpen="false" />
<target name="file-rotated" xsi:type="RollingFile" fileName="logs/app.log"
filePattern="logs/app-%date:format=yyyy-MM-dd}.log"
layout="${date:format=yyyy-MM-dd HH:mm:ss} ${level} ${message}"
maxFileSize="10 MB"
maxBackupIndex="10"
keepFileOpen="false" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="file-rotated" />
</rules>
</nlog>
在這個示例中,我們定義了兩個目標:file
和file-rotated
。file
目標用于寫入日志文件,而file-rotated
目標用于實現日志輪轉。
fileName
屬性指定了日志文件的初始路徑和名稱。filePattern
屬性定義了滾動日志文件的命名模式,其中%date:format=yyyy-MM-dd
表示日期,%file
表示原始文件名,.log
表示日志文件擴展名。maxFileSize
屬性設置了單個日志文件的最大大小(以MB為單位)。maxBackupIndex
屬性設置了保留的滾動日志文件的最大數量。using NLog;
namespace MyApp
{
class Program
{
static readonly Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
logger.Trace("這是一條Trace級別的日志");
logger.Debug("這是一條Debug級別的日志");
logger.Info("這是一條Info級別的日志");
logger.Warn("這是一條Warn級別的日志");
logger.Error(new Exception("這是一條錯誤級別的日志"), "發生了一個錯誤");
}
}
}
現在,當你運行你的應用程序時,日志將會被寫入到logs/app.log
文件中,并根據配置的輪轉策略進行滾動。