1.引入nuget包
引入包NLog.Extensions.Logging包
2.NLogExtension扩展类
public static void RegisterNLog(this IContainerRegistry containerRegistry)
{
var config = new NLog.Config.LoggingConfiguration();
var logFile= new FileTarget("logFile")
{
FileName = "${basedir}/Logs/${date:format=yyyyMMdd}/Info-${date:format=yyyy-MM-dd}.txt",
Layout = "${longdate} | ${level} | ${callsite} | ${message} | ${exception:format=tostring}"
};
config.AddTarget(logFile);
config.AddRule(NLog.LogLevel.Info, NLog.LogLevel.Error, logFile);
NLog.LogManager.Configuration = config;
var factory = new NLogLoggerFactory();
ILogger logger = factory.CreateLogger("categoryname");
containerRegistry.RegisterInstance<ILogger>(logger);
}
3.注册
App.xaml.cs中注册
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterNLog();
}