(精华)2020年8月18日 ASP.NET Core Log4数据库日志扩展
发布日期:2021-06-29 15:10:16 浏览次数:3 分类:技术文章

本文共 2927 字,大约阅读时间需要 9 分钟。

public class CustomEFLogger : ILogger    {
private string _CategoryName = null; public CustomEFLogger(string categoryName) {
this._CategoryName = categoryName; } public IDisposable BeginScope
(TState state) {
return null; } public bool IsEnabled(LogLevel logLevel) {
return true; } public void Log
(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func
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($"************************************************************"); } }
public class CustomEFLoggerFactory : ILoggerFactory    {
public void AddProvider(ILoggerProvider provider) {
} public ILogger CreateLogger(string categoryName) {
return new CustomEFLogger(categoryName); } public void Dispose() {
} }
/// /// 日志问题/// public partial class JDDbContext : DbContext{
public JDDbContext(DbContextOptions
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"); } }

转载地址:https://codeboy.blog.csdn.net/article/details/108080938 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:2021-06-17 .NET高级班 55-ASP.NET Core Authorization的几种方式
下一篇:2021-06-17 .NET高级班 54-ASP.NET Core添加cookie的方式进行授权,鉴权

发表评论

最新留言

不错!
[***.144.177.141]2024年04月07日 20时36分39秒