gpt4 book ai didi

iis - 在 IIS 上为 serilog 启用文件日志记录

转载 作者:行者123 更新时间:2023-12-04 14:15:58 28 4
gpt4 key购买 nike

我想在 IIS 上启用文件日志记录以解决本地 IIS 上的问题。以下是我正在使用的代码。当我在 Visual Studio 上运行并记录到文件时它有效,但当我部署到 IIS 时无效。文件夹有足够的权限来创建文件,我也创建了文件夹和文件。我在这里错过了什么?

程序.cs

        var path = @"C:\workspace\Logs\Log-{Date}.txt";

Log.Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.Console(
outputTemplate:
"[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}",
theme: AnsiConsoleTheme.Literate)
.WriteTo.File(path, fileSizeLimitBytes: 1_000_000,
rollOnFileSizeLimit: true,
shared: true,
flushToDiskInterval: TimeSpan.FromSeconds(1))
.CreateLogger();

启用 useSerialLog()
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureServices(services => services.AddAutofac())
.UseStartup<Startup>()
.UseSerilog()
.Build();

最佳答案

Serilog 在本地完美运行。对于 IIS,日志文件文件夹需要 IIS 用户权限。

public Startup(IHostingEnvironment env)
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel
.Information()
.WriteTo.RollingFile(@"C:\inetpub\serilog\agilogoservicelogs\{Date}.txt", LogEventLevel.Information)
.WriteTo.Seq("http://localhost:5341")
.CreateLogger();

var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();

Configuration = builder.Build();
}

更新您的 Controller :
public class ValuesController : Controller
{
private readonly ILogger<ScrumUserController> _logger;

public ValuesController(ILogger<ScrumUserController> logger)
{
_logger = logger;
}

[HttpGet]
public IEnumerable<string> Get()
{
_logger.LogInformation("Agilibo Service start running");
return new string[] { "Agilibo Core", "Service" };
}
}

现在在已部署的 IIS 上授予文件夹权限。

enter image description here

关于iis - 在 IIS 上为 serilog 启用文件日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49891083/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com