记录到 Blazor WASM 中的文件
Logging to a file in Blazor WASM
我是 Blazor 的新手。我想登录到 Blazor WASM 客户端的一个文件。我尝试使用 serilog 和 serilog.sink.file。但我没有看到任何日志写入文件。我也没有看到任何错误。是不是因为 Blazor WASM 在无法访问本地的浏览器沙箱中运行 filesystem.Is 有什么方法可以从 Blazor WASM 登录到文件。
我在 Main 中尝试配置的代码:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Is(logLevel)
.WriteTo.File(path: @"C:\Users\abc\logs.log",
rollingInterval: RollingInterval.Day,
rollOnFileSizeLimit: true,
fileSizeLimitBytes: 10 * 1024 * 1024)
.CreateLogger();
Log.Information("testing");
无法直接在文件中记录 blazor WASM。因为在浏览器中完全编码 运行。您还可以使用其他 serilog 接收器,例如为 blazor
提供特殊功能的 browserconsole 或 blazor relay
如果您想将日志写入客户端上的文件,您可以登录到控制台,然后启动 chrome 并选择重定向日志:
--enable-logging=stderr --v=1 > log.txt 2>&1
更容易登录到控制台并在浏览器中使用 F12 查看日志。
我使用 Microsoft.Logging.Extensions:
https://www.nuget.org/packages/Microsoft.Extensions.Logging
然后我在 Program.cs 中配置:
builder.Services.AddLogging(builder => builder
.SetMinimumLevel(LogLevel.Debug)
.AddFilter("Microsoft", LogLevel.Warning)
.AddFilter("System", LogLevel.Warning)
);
然后我注入并调用记录器:
[Inject] protected ILogger<MyClassIamLoggingFrom> Logger { get; set; }
Logger?.LogDebug("Fetching install data");
我是 Blazor 的新手。我想登录到 Blazor WASM 客户端的一个文件。我尝试使用 serilog 和 serilog.sink.file。但我没有看到任何日志写入文件。我也没有看到任何错误。是不是因为 Blazor WASM 在无法访问本地的浏览器沙箱中运行 filesystem.Is 有什么方法可以从 Blazor WASM 登录到文件。
我在 Main 中尝试配置的代码:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Is(logLevel)
.WriteTo.File(path: @"C:\Users\abc\logs.log",
rollingInterval: RollingInterval.Day,
rollOnFileSizeLimit: true,
fileSizeLimitBytes: 10 * 1024 * 1024)
.CreateLogger();
Log.Information("testing");
无法直接在文件中记录 blazor WASM。因为在浏览器中完全编码 运行。您还可以使用其他 serilog 接收器,例如为 blazor
提供特殊功能的 browserconsole 或 blazor relay如果您想将日志写入客户端上的文件,您可以登录到控制台,然后启动 chrome 并选择重定向日志:
--enable-logging=stderr --v=1 > log.txt 2>&1
更容易登录到控制台并在浏览器中使用 F12 查看日志。 我使用 Microsoft.Logging.Extensions:
https://www.nuget.org/packages/Microsoft.Extensions.Logging
然后我在 Program.cs 中配置:
builder.Services.AddLogging(builder => builder
.SetMinimumLevel(LogLevel.Debug)
.AddFilter("Microsoft", LogLevel.Warning)
.AddFilter("System", LogLevel.Warning)
);
然后我注入并调用记录器:
[Inject] protected ILogger<MyClassIamLoggingFrom> Logger { get; set; }
Logger?.LogDebug("Fetching install data");