Я развернул веб-приложение Asp.net Core 2 в Windows Server 2012 с использованием IIS 8.
Я не могу записать «информацию» в файл журнала, он только регистрирует «Предупреждения».Я создал собственный регистратор по этой ссылке:
https://www.infoworld.com/article/3235249/application-development/how-to-work-with-logging-in-aspnet-core.html
Он выполняет запланированную работу при развертывании на моем локальном хосте.Я также включил разрешение, поэтому некоторые журналы работают, например, журналы stdout.
Однако для ведения записи я хочу также сохранить другие важные журналы.
Ниже приведенснимок экрана с моим файлом журналов Фрагмент кода: в StartUp.cs настроить метод
public void Configure(IApplicationBuilder app, IHostingEnvironment env,
ILoggerFactory loggerFactory )
{
app.UseSession();
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
loggerFactory.AddProvider(new CustomLoggerProvider(new CustomLoggerProviderConfiguration
{
LogLevel = LogLevel.Information
},env.ContentRootPath));
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=test}/{action=test}/{id?}");
});
}
Фрагмент кода: Функция, которая фактически создает файл
private void WriteToLog(string message)
{
////When Date change create new file.
string filePath = _hostingPath + "\\test\\" + "Web_" + DateTime.Today.ToString("yyyy_MM_dd") + ".txt";
FileStream fs = new FileStream(filePath, FileMode.Append, FileAccess.Write, FileShare.Write);
using (StreamWriter streamWriter = new StreamWriter(fs))
{
streamWriter.WriteLine(message);
streamWriter.Close();
}
}
Кроме того, я знаю, что не рекомендуется хранить журналы на сервере, так как это занимает дополнительное время.Есть ли какой-либо другой подход, который можно предложить для хранения журналов, пожалуйста, скажите?
Кроме того, я был бы признателен за помощь в этом вопросе LogLevel "Информация" не отображается в IIS.