我已经使用 IIS 8 在 Windows Server 2012 上部署了一个 Asp.net Core 2 Web 应用程序。
我无法将“信息”记录到日志文件中,它只记录“警告”。我在此链接之后创建了一个自定义记录器:
当部署在我的本地主机上时,它会完成预期的工作。我还启用了权限,因此有一些日志记录确实有效,例如标准输出日志。
但是,为了记录保存,我也想存储我的其他重要日志。
下面是我的日志文件 代码片段的屏幕截图:在 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();
}
}
另外,我知道将日志存储在服务器上不是一个好习惯,因为它会占用空间。有没有其他方法可以建议存储日志请告诉我?
此外,在 IIS 上未显示的 LogLevel“信息”问题中,我们将不胜感激。