
NuGet安装Microsoft.Extensions.Logging及Microsoft.Extensions.Logging.Consloe
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
ServiceCollection services = new ServiceCollection();
//向容器中增加注册日志服务
services.AddLogging(logBuilder => { logBuilder.AddConsole(); });
using (var sp = services.BuildServiceProvider())
{
//获得一个用于输出日志的对象,泛型类型一般使用当前的类,此时当前的类是Program
//这样在输出日志的时候会显示类名
var logger = sp.GetRequiredService<ILogger<Program>>();
logger.LogWarning("这是一条警告消息");
logger.LogError("这是一条错误消息");
string age = "abc";
logger.LogInformation("用户输入的年龄:{0}", age);
try
{
int i = int.Parse(age);
}
catch (Exception ex)
{
logger.LogError(ex, "解析字符串为int失败");
}
}
//LogTrace,LogDebug,LogInformation,LogWarning,LogError,LogCritical
//严重等级依次增高services.AddLogging(logBuilder => { logBuilder.AddNLog(); });
知识点:
archiveAboveSize为“单个日志文件超过多少字节就把日志存档”,单位为字节,这样可以避免单个文件太大,如果不设定maxArchiveFiles参数,则文件日志存档文件的数量会一直增加,而如果设定maxArchiveFiles参数后,则最多保存maxArchiveFiles指定数量个数的存档文件,旧的会被删掉;当然也可以不设置maxArchiveFiles参数,而设置maxArchiveDays参数,这样可以设定保存若干天的日志存档。