{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "Serilog": { "Using": ["Serilog.Sinks.Console", "Serilog.Sinks.File"], "MinimumLevel": { "Default": "Information", "Override": { "Microsoft": "Warning", "System": "Warning" } }, "WriteTo": [ { "Name": "Console", "Args": { "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}" } }, { "Name": "File", "Args": { "path": "logs/dramaling-.txt", "rollingInterval": "Day", "outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}" } } ] }, "AllowedHosts": "*", "ConnectionStrings": { "DefaultConnection": "Host=localhost;Port=5432;Database=dramaling_dev;Username=postgres;Password=password" }, "JwtSettings": { "Key": "your-256-bit-secret-key-here-must-be-at-least-32-characters", "Issuer": "DramaLingAPI", "Audience": "DramaLingUsers", "DurationInMinutes": 60 }, "OpenAI": { "ApiKey": "your-openai-api-key-here", "Model": "gpt-4o-mini", "MaxTokens": 1000, "Temperature": 0.7 }, "Redis": { "ConnectionString": "localhost:6379" } }