ASP.NET Core 1.0でログを使用

3269 ワード

https://github.com/aspnet/Logging https://docs.asp.net/en/latest/fundamentals/logging.html
ASP.NET Core 1.0には、内蔵のログモジュールが用意されており、もちろん自分の好きなログフレームワークも使用できます.
Providers
Community projects adapt Microsoft.Extensions.Logging for use with different back-ends.
  • Serilog - provider for the Serilog library
  • elmah.io - provider for the elmah.io service
  • Loggr - provider for the Loggr service
  • NLog - provider for the NLog library
  • public Startup(IApplicationEnvironment appEnv)
            {
                IConfigurationBuilder builder = new ConfigurationBuilder()
                    .SetBasePath(appEnv.ApplicationBasePath)
                    .AddJsonFile("config.json", false);
                Configuration = builder.Build();
    
                var logFilePath = Path.Combine(appEnv.ApplicationBasePath,"logs/log.txt");
                Log.Logger = new LoggerConfiguration()
                        .MinimumLevel.Debug()
                        .WriteTo.TextWriter(new StreamWriter(
                            new FileStream(logFilePath, FileMode.OpenOrCreate)))
                        .CreateLogger();    
            }
    
            public IConfiguration Configuration { get; set; }
    
            public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
            {
                loggerFactory
                    .AddSerilog()
                    .AddConsole();
    
                app.UseDeveloperExceptionPage();
                app.UseMvcWithDefaultRoute();            
                app.UseStaticFiles();            
                app.UseRuntimeInfoPage();
            }
    
            public void ConfigureServices(IServiceCollection services)
            {
                services.AddMvc();
            }
        }

    EF1.0拡張Install-Package EntityFramework.Serilog -Pre他のproviderの構成https://github.com/serilog/serilog/wiki/Provided-Sinks
    .NET跨平台之旅:Linux上将ASP.NET 5実行ログ書き込みファイルhttp://www.cnblogs.com/cmt/p/4985777.html