বিকল্প 1: সরাসরি প্রারম্ভে লগ (যেমন সেরিলোগ) ব্যবহার করুন-
public class Startup
{
public Startup(IHostingEnvironment env)
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.RollingFile(Path.Combine(env.ContentRootPath, "Serilog-{Date}.txt"))
.CreateLogger();
Log.Information("Inside Startup ctor");
....
}
public void ConfigureServices(IServiceCollection services)
{
Log.Information("ConfigureServices");
....
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
Log.Information("Configure");
....
}
আউটপুট:
এসপ নেট-কোর অ্যাপ্লিকেশনটিতে সেরিলোগ সেটআপ করতে, গিটহাবের সেরিলগ.এএসপনেটকোর প্যাকেজটি দেখুন ।
অপশন 2: প্রোগ্রামে লগিং কনফিগার করুন
var host = new WebHostBuilder()
.UseKestrel()
.ConfigureServices(s => {
s.AddSingleton<IFormatter, LowercaseFormatter>();
})
.ConfigureLogging(f => f.AddConsole(LogLevel.Debug))
.UseStartup<Startup>()
.Build();
host.Run();
ব্যবহারকারী লগারফ্যাক্টরির শুরুতে এটির মতো-
public class Startup
{
ILogger _logger;
IFormatter _formatter;
public Startup(ILoggerFactory loggerFactory, IFormatter formatter)
{
_logger = loggerFactory.CreateLogger<Startup>();
_formatter = formatter;
}
public void ConfigureServices(IServiceCollection services)
{
_logger.LogDebug($"Total Services Initially: {services.Count}");
}
public void Configure(IApplicationBuilder app, IFormatter formatter)
{
_logger.LogDebug("Configure() started...");
app.Run(async (context) => await context.Response.WriteAsync(_formatter.Format("Hi!")));
_logger.LogDebug("Configure() complete.");
}
}
এই লিঙ্কে সম্পূর্ণ বিবরণ উপলব্ধ