如果表先前不存在,Serilog 仅写入数据库

问题描述 投票:0回答:1
c# serilog
1个回答
0
投票

您想尝试 IHostBuilder 而不是 WebApplication。尝试 这个写在文件中

using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Serilog;
using Serilog.Events;
using Serilog.Sinks.SystemConsole.Themes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                })
                .ConfigureLogging((hostingContext, logging) =>
                {
                    if (Convert.ToBoolean(hostingContext.Configuration.GetSection("IsDebugging").Value))
                    {
                        var path = hostingContext.Configuration.GetSection("Logging").Get<LogConfiguration>().LoggingPath;
                        Log.Logger = new LoggerConfiguration()
                                            .MinimumLevel.Information()
                                            .Enrich.FromLogContext()
                                            .WriteTo.File(path, rollingInterval: RollingInterval.Day, restrictedToMinimumLevel: LogEventLevel.Information, fileSizeLimitBytes: 6291456, retainedFileCountLimit: 10, rollOnFileSizeLimit: true)
                                            .WriteTo.Console(theme: AnsiConsoleTheme.Code)
                                            .CreateLogger();
                    }
                
                })
            ;
© www.soinside.com 2019 - 2024. All rights reserved.