8679bd1efd
Serilog.Sinks.Email v4 renamed all configuration parameters from their v2 names. The old names were silently ignored, so no error alert emails were ever sent. Parameter renames applied across all 6 appsettings.json and docker-compose: fromEmail → from toEmail → to mailServer → host networkCredential → credentials enableSsl: true → connectionSecurity: StartTls emailSubject → subject outputTemplate → body batchPostingLimit / period removed (v4 batching uses a separate overload) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
111 lines
2.7 KiB
JSON
111 lines
2.7 KiB
JSON
{
|
|
"Serilog": {
|
|
"Using": [
|
|
"Serilog.Sinks.Console",
|
|
"Serilog.Sinks.File",
|
|
"Serilog.Sinks.Email"
|
|
],
|
|
"MinimumLevel": {
|
|
"Default": "Information",
|
|
"Override": {
|
|
"Microsoft.AspNetCore": "Warning",
|
|
"Microsoft.AspNetCore.Hosting": "Information",
|
|
"Microsoft.AspNetCore.Routing": "Warning",
|
|
"System.Net.Http.HttpClient": "Warning",
|
|
"Api": "Information"
|
|
}
|
|
},
|
|
"WriteTo": [
|
|
{
|
|
"Name": "Console",
|
|
"Args": {
|
|
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {SourceContext}: {Message:lj}{NewLine}{Exception}"
|
|
}
|
|
},
|
|
{
|
|
"Name": "File",
|
|
"Args": {
|
|
"path": "logs/api-.log",
|
|
"rollingInterval": "Day",
|
|
"retainedFileCountLimit": 30,
|
|
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {SourceContext}: {Message:lj}{NewLine}{Exception}"
|
|
}
|
|
},
|
|
{
|
|
"Name": "Email",
|
|
"Args": {
|
|
"restrictedToMinimumLevel": "Error",
|
|
"from": "",
|
|
"to": "",
|
|
"host": "",
|
|
"credentials": {
|
|
"userName": "",
|
|
"password": ""
|
|
},
|
|
"port": 587,
|
|
"connectionSecurity": "StartTls",
|
|
"subject": "[myAi] RAG API Error Alert",
|
|
"body": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}"
|
|
}
|
|
}
|
|
],
|
|
"Enrich": [
|
|
"FromLogContext",
|
|
"WithMachineName",
|
|
"WithEnvironmentName"
|
|
]
|
|
},
|
|
"Logging": {
|
|
"LogLevel": {
|
|
"Default": "Information",
|
|
"Microsoft.AspNetCore": "Warning",
|
|
"Microsoft.AspNetCore.Hosting": "Information",
|
|
"Microsoft.AspNetCore.Routing": "Warning",
|
|
"System.Net.Http.HttpClient": "Warning",
|
|
"Api": "Information"
|
|
}
|
|
},
|
|
"LogEnvironmentOnStartup": true,
|
|
"AllowedHosts": "*",
|
|
"KeyVault": {
|
|
"VaultUri": "",
|
|
"Enabled": false
|
|
},
|
|
"Database": {
|
|
"Host": "localhost",
|
|
"Port": 1433,
|
|
"Name": "MyAiCvMatcher",
|
|
"User": "sa",
|
|
"Password": "",
|
|
"TrustServerCertificate": true
|
|
},
|
|
"InternalApi": {
|
|
"ApiKey": "",
|
|
"RequireApiKey": false
|
|
},
|
|
"Rag": {
|
|
"MaxFileSizeMb": 8,
|
|
"ChunkSize": 900,
|
|
"ChunkOverlap": 150,
|
|
"MaxTextChars": 60000,
|
|
"DefaultTopK": 20,
|
|
"MaxTopK": 50,
|
|
"ClassifyWithAi": false
|
|
},
|
|
"Ai": {
|
|
"Provider": "OpenAI",
|
|
"OpenAI": {
|
|
"ApiKey": "",
|
|
"ChatModel": "gpt-4o-mini",
|
|
"EmbeddingModel": "text-embedding-3-small",
|
|
"TimeoutSeconds": 90
|
|
},
|
|
"Ollama": {
|
|
"BaseUrl": "http://localhost:11434",
|
|
"ChatModel": "llama3.1:8b",
|
|
"EmbeddingModel": "nomic-embed-text",
|
|
"TimeoutSeconds": 180
|
|
}
|
|
}
|
|
}
|