c# - .net 核心控制台应用程序 - serilog 写入 bin/debug 文件夹
问题描述
我正在使用 .net5 控制台应用程序并将 serilog 设置为记录到 Logs/log.txt,但不是写入 rootFolder/Logs/log.txt,而是写入到 bin/debug 文件夹。
编辑:我附上代码:
在 appsettings.json 中它看起来像这样:
{
"Name": "File",
"Args": {
"path": "Logs\log.txt",
}
}
程序.cs
static void Main(string[] args)
{
var configuration = new ConfigurationBuilder()
.AddJsonFile("appSettings.json", true, true)
.Build();
var serviceCollection = new ServiceCollection()
.AddLogging(builder => builder.AddSerilog(
new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.CreateLogger()))
.BuildServiceProvider();
var logger = serviceCollection.GetService<ILogger<Program>>();
logger.LogInformation("hello from Serilog");
Console.ReadLine();
}
有什么想法吗?
解决方案
在 program.cs 文件中试试这个
Log.Logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.Enrich.WithProperty("Application", "MyApp")
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
.MinimumLevel.Override("System", LogEventLevel.Warning)
.WriteTo.File("Logs/log.log",
outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}",
rollingInterval: RollingInterval.Hour)
.CreateLogger();
和 appsettings 文件
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
推荐阅读
- html - css hover 不适用于我的 html 中的 col
- ebay-api - eBay Feed API -> uploadFile 脚本在本地 PC 上工作,但在实时服务器上不工作
- firebase - 尝试显示来自 Firebase Firestore 的数据
- hyperledger-fabric - Hyperledgerfabric - 安装示例二进制 docker 镜像
- go - 将十六进制插入字节数组的问题
- python - 将Json文件用作站点信息和设置(Django)是否正确?
- sql - SQL中的行组比较
- node.js - stripe express 使用 Oauth 恢复入职 /
- powershell - 查询参数字符串失败的 Invoke-RestMethod (403)
- laravel - Laravel-Infinite 滚动但在加载时随机加载数据而不会重复