Asp.net Vnext 自定义日志
概述
本文已经同步到《Asp.net Vnext 系列教程 》中]
可以通过自定义日志,把错误消息记录到数据库
实现
在启动文件Startup Configure方法中加入自定义的日志提供者
loggerfactory.AddProvider(new CustomLoggerProvider(LogLevel.Debug));
日志提供者
public class CustomLoggerProvider : ILoggerProvider { //日志级别 private LogLevel LogLevel; public CustomLoggerProvider(LogLevel logLevel) { this.LogLevel = logLevel; } public ILogger CreateLogger(string name) { return new CustomLogger(name, LogLevel); } }
日志接口
public class CustomLogger : ILogger { //名字 public string Name { get; set; } public LogLevel LogLevel { get; set; } public CustomLogger(string name, LogLevel logLevel) { Name = name; LogLevel = logLevel; } public IDisposable BeginScope(object state) { //释放资源 如数据库 return null; } //检查日志级别 public bool IsEnabled(LogLevel logLevel) { return true; // return ((int)logLevel >= (int)this.LogLevel); } public void Log(LogLevel logLevel, int eventId, object state, Exception exception, Func<object, Exception, string> formatter) {
var message = formatter(state, exception);
File.WriteAllText("D:\\222.txt", message);
}
}
设置一个异常
运行,查看文件