(精华)2020年8月18日 ASP.NET Core Log4数据库日志扩展
【摘要】
public class CustomEFLogger : ILogger
{
private string _CategoryName = null;
publi...
public class CustomEFLogger : ILogger
{
private string _CategoryName = null;
public CustomEFLogger(string categoryName)
{
this._CategoryName = categoryName;
}
public IDisposable BeginScope<TState>(TState state)
{
return null;
}
public bool IsEnabled(LogLevel logLevel)
{
return true;
}
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
{
System.Diagnostics.Debug.WriteLine($"************************************************************");
System.Diagnostics.Debug.WriteLine($"CustomEFLogger {_CategoryName} {logLevel} {eventId} {state} start");
System.Diagnostics.Debug.WriteLine($"异常信息:{exception?.Message}");
System.Diagnostics.Debug.WriteLine($"信息:{formatter.Invoke(state, exception)}");
System.Diagnostics.Debug.WriteLine($"CustomEFLogger {_CategoryName} {logLevel} {eventId} {state} end");
System.Diagnostics.Debug.WriteLine($"************************************************************");
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
public class CustomEFLoggerFactory : ILoggerFactory
{
public void AddProvider(ILoggerProvider provider)
{
}
public ILogger CreateLogger(string categoryName)
{
return new CustomEFLogger(categoryName);
}
public void Dispose()
{
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
/// <summary>
/// 日志问题
/// </summary>
public partial class JDDbContext : DbContext
{
public JDDbContext(DbContextOptions<JDDbContext> options) : base(options)
{
Console.WriteLine("This is JDDbContext DbContextOptions");
}
private IConfiguration _IConfiguration = null;
private ILoggerFactory _iLoggerFactory = null;
public JDDbContext(IConfiguration configuration, ILoggerFactory loggerFactory)
{
this._IConfiguration = configuration;
this._iLoggerFactory = loggerFactory;
Console.WriteLine("This is JDDbContext configuration loggerFactory");
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json");
var configuration = builder.Build();
var conn = configuration.GetConnectionString("JDDbConnection");
optionsBuilder.UseSqlServer(conn);
optionsBuilder.UseLoggerFactory(new CustomEFLoggerFactory());
optionsBuilder.UseLoggerFactory(this._iLoggerFactory);
optionsBuilder.UseSqlServer(this._IConfiguration.GetConnectionString("JDDbConnection"));
optionsBuilder.UseSqlServer(StaticConstraint.JDDbConnection);
optionsBuilder.UseSqlServer("Server=.;Database=advanced11;User id=sa;password=Passw0rd");
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
文章来源: codeboy.blog.csdn.net,作者:愚公搬代码,版权归原作者所有,如需转载,请联系作者。
原文链接:codeboy.blog.csdn.net/article/details/108080938
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)