我正在尝试使用serilog将信息和错误记录到oracle数据库中
我只看到MS SQL Server的例子。我用它作为例子创建了这个配置。我没有看到任何关于Oracle选项的博客或信息。
请帮
这里是配置文件和程序文件。
Appsetting.json
"Serilog": {
"Using": [ "Serilog.Sinks.Oracle" ],
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Error",
"Microsoft.AspNetCore.Mvc": "Warning"
}
},
"WriteTo": [
{
"Name": "Oracle",
"Args": {
"connectionString": "xxx",
"tableName": "Log",
"autoCreateSqlTable": false,
"columnOptionSection": {
"removeStandartColumns": [ "Id", "Message", "MessageTemplate", "Level", "TimeStamp", "Exception", "Properties" ],
"customColumns": [
{
"ColumnName": "Application",
"DataType": "nvarchar",
"DataLength": "10"
},
{
"ColumnName": "Source",
"DataType": "nvarchar",
"DataLength": "10"
},
{
"ColumnName": "Message_TXT",
"DataType": "nvarchar",
"DataLength": "4000"
},
{
"ColumnName": "TimeStamp_Dt",
"DataType": "date"
},
]
}
}
}
字符串
Program.cs
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.Build();
var logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.Enrich.FromLogContext()
.CreateLogger();
LogContext.PushProperty("Application", "TEST");
LogContext.PushProperty("Source_Txt", "SERILOG");
LogContext.PushProperty("Message_txt", message);
LogContext.PushProperty("TimeStamp_DT", DateTime.Now);
logger.Information(message);
型
它不会抛出任何错误,也不会将任何信息记录到数据库中。
1条答案
按热度按时间yws3nbqq1#
这是一个实验代码,请使用它对您自己的风险。
您需要使用下面的脚本手动创建表。我已经遵循this作为参考。
字符串
代码示例(这是一个实验性的代码,你自己使用它的风险!!)
型