{ "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", "fromEmail": "", "toEmail": "", "mailServer": "", "networkCredential": { "userName": "", "password": "" }, "port": 587, "enableSsl": true, "emailSubject": "[mihes.ro API] Error Alert", "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}", "batchPostingLimit": 10, "period": "0.00:05:00" } } ], "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 }, "RagApi": { "BaseUrl": "http://localhost:8081", "InternalApiKey": "" }, "Ai": { "Provider": "OpenAI", "OpenAI": { "ApiKey": "", "ChatModel": "gpt-4o-mini", "TimeoutSeconds": 90 }, "Ollama": { "BaseUrl": "http://localhost:11434", "ChatModel": "llama3.1:8b", "TimeoutSeconds": 180 } }, "Matcher": { "TopK": 10, "DeepScoreTopN": 5, "MaxJobTextChars": 60000 } }