• asp.net core 多端口监听&日志服务


    1 配置多个端口监听

    HostingAbstractionsWebHostBuilderExtensions.

    public static IWebHostBuilder UseUrls(this IWebHostBuilder hostBuilder, params string[] urls);

     

     

     

    运行结果:

     

     

     

     

     

    2 使用配置把多端口放到配置文件中

     

    添加配置文件

    hosting.json

    {

    "server.urls": "http://localhost:6001;http://localhost:5000"

    }

     

    读取配置
    
     
    
    var config = new ConfigurationBuilder()
    
    .SetBasePath(Directory.GetCurrentDirectory())
    
    .AddJsonFile("hosting.json", optional:true)
    
    .Build();
    
     
    
    设置配置:
    
     
    
    var host = new WebHostBuilder()
    
    .UseKestrel()
    
    .UseContentRoot(Directory.GetCurrentDirectory())
    
    .UseIISIntegration()
    
    //可以设置多个监听端口,http://localhost:5000/ http://localhost:6001/ 都是可以访问的
    
    //.UseUrls("http://*:5000","http://*:6001")
    
    //添加的多端口设置放到配置中
    
    .UseConfiguration(config)
    
    .UseStartup < Startup > ()
    
    .Build();
    
    host.Run();
    
     

     

     

     

    3 .net Core 日志服务

     

    Telemetry 日志服务

     

    public void ConfigureServices(IServiceCollection services)
    
    {
    
    // Add framework services.
    
    services.AddApplicationInsightsTelemetry(Configuration);
    
     
    
    }
    
     
    
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    
    {
    
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    
    loggerFactory.AddDebug();
    
     
    
    app.UseApplicationInsightsRequestTelemetry();
    
    }
    
     

     

    只要有访问就会记录下日志

     

    http://localhost:6001/

     

    Log 日志

    Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Request","time":"2017-08-05T09:11:22.6148689Z","tags":{"ai.device.roleInstance":"lihongbo-pc","ai.internal.sdkVersion":"aspnet5c:1.0.0","ai.operation.name":"GET /","ai.operation.id":"oUbk/2mD5Ns=","ai.user.userAgent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36"},"data":{"baseType":"RequestData","baseData":{"ver":2,"id":"oUbk/2mD5Ns=","name":"GET /","startTime":"2017-08-05T09:11:22.6148689+00:00","duration":"00:00:00.1031536","success":true,"responseCode":"200","url":"http://localhost:6001/","httpMethod":"GET","properties":{"DeveloperMode":"true"}}}}

    Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 343.1286ms 200 text/html; charset=utf-8

    =

     

     

    关闭 Telemetry 日志服务

     

    http://localhost:6001/

    自带的Log服务

    Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 GET http://localhost:6001/

    Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 8.2399ms 200 text/html; charset=utf-8

    Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 GET http://localhost:6001/

    Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 4.3987ms 200 text/html; charset=utf-8

     

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

    {

    //配置ConsoleLog服务
    
    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    
    //设置服务输出级别
    
    //Debug 级别会输出包括Information级别的所有日志
    
    loggerFactory.AddDebug();
    
    }

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    P2403 [SDOI2010]所驼门王的宝藏
    差分约束系统
    题解报告——运输计划
    差分与树上差分
    题解报告——天使玩偶
    题解报告——Mokia
    CDQ分治&整体二分(未完待续)
    点分治
    AC自动机
    树链剖分
  • 原文地址:https://www.cnblogs.com/hbb0b0/p/7290904.html
Copyright © 2020-2023  润新知