NuGet包:Microsoft.Extensions.Logging(这个是日志的基础包)
1:日志输出到控制台
NuGet包:Microsoft.Extensions.Logging.Consloe
示例1:
/// <summary>
/// 往文件写入文本
/// </summary>
public interface IFileWrite
{
/// <summary>
/// 往文件写入文本
/// </summary>
/// <param name="text"></param>
void FileWriteCus(string text);
}
/// <summary>
/// 往文件写入文本
/// </summary>
public class FileWrite : IFileWrite
{
/// <summary>
/// 日志对象
/// </summary>
private readonly ILogger<FileWrite> logger;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="logger"></param>
public FileWrite(ILogger<FileWrite> logger)
{
this.logger = logger;
}
/// <summary>
/// 往文件写入文本
/// </summary>
/// <param name="text"></param>
public void FileWriteCus(string text)
{
logger.LogTrace("写入数据库失败0");
logger.LogDebug("写入数据库失败1");
logger.LogInformation("写入数据库失败2");
logger.LogWarning("写入数据库失败3");
logger.LogError("写入数据库失败4");
logger.LogCritical("写入数据库失败5");
try
{
//这里故意写错写入文件的路径,让这一行代码报异常
File.WriteAllText("A/1.txt", text);
}
catch(Exception ex)
{
logger.LogCritical(ex, "往文件写入文本发送异常");
}
}
}
启动之后输出的结果如下:
把示例1的代码第19行注释掉,代码第22行去掉注释,代码如下图
示例2:
启动之后输出的结果如下: