1 修改Program.cs 如下
public class Program { public static void Main(string[] args) { // Create the Serilog logger, and configure the sinks Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() // 最小日志级别,即如果最小日志级别为 Error 则下面的 Log.Information 不会记录日志 .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) .MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.File(formatter: new CompactJsonFormatter(), "logs\\serilog.txt", rollingInterval: RollingInterval.Day) .CreateLogger(); // Wrap creating and running the host in a try-catch block try { Log.Information("Starting host"); CreateHostBuilder(args).Build().Run(); } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly"); } finally { Log.CloseAndFlush(); } } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureHostConfiguration(configHost => { configHost.AddJsonFile("hosting.json", optional: true); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }) .UseSerilog(dispose: true); }
2 添加 hosting.json 文件配置发布后程序运行端口,注意hosting.json 配置的端口,只有在发布后才起作用
hosting.json 文件内容如下:
{ "urls": "http://*:12306" }
配置文件属性
3 修改项目调试启动url
3.1 如果是iis 启动调试
右击启动项目
3.2 如果是以项目名启动
则修改 launchSettings.json 中的配置节 applicationUrl 就可以在配置的url端口运行
4 发布程序,验证 hosting.json 配置是否生效