当日志文件大小超过50MB时,它会被归档,并且始终保留最近的10个归档文件
非常牛逼的log插件 强烈推荐!
Nlog 创建代码
private static Logger logger = LogManager.GetCurrentClassLogger();
private void InitNLog()
{
var config = new NLog.Config.LoggingConfiguration();
var logfile1 = new NLog.Targets.FileTarget("log")
{
FileName = "LogFiles/log.txt",
ArchiveFileName = "LogFiles/log_${date:format=yyyy-MM-dd HHmmss}_{#}.txt",
ArchiveAboveSize = 50 * 1024 * 1024, // 设置为50MB,
ArchiveNumbering = ArchiveNumberingMode.Sequence,
MaxArchiveFiles = 10,
Layout = "${longdate} [${level}] ${logger} ${message}"
};
var path = System.IO.Path.GetDirectoryName(System.IO.Path.GetFullPath(logfile1.FileName.ToString())) ;
if(!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
// Rules for mapping loggers to targets
if (_config.gameState == GameState.Release || _config.gameState == GameState.Preview)
{
config.AddRuleForAllLevels(new NLog.Targets.NullTarget());
}
else
{
config.AddRule(LogLevel.Debug, LogLevel.Fatal, logfile1);
}
// Apply config
NLog.LogManager.Configuration = config;
string title = string.Format("------- {0} -------", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") );
string header = new string('-', title.Length);
logger.Info(header);
logger.Info(title);
logger.Info(header);
}