using Microsoft.Extensions.Configuration; using Serilog; using Shared.DTO.VariablesEntorno; namespace Shared.Helper { public class FileLoggerHelper { public static void ConfigureLogger(IConfiguration configuration) { var logFilePath = configuration.GetSection("Logging:LogFile:Path").Value ?? "logs/log-.txt"; var exePath = AppContext.BaseDirectory; var logFileFullPath = Path.Combine(exePath, logFilePath); var logDirectory = Path.GetDirectoryName(logFileFullPath); if (!string.IsNullOrEmpty(logDirectory)) { Directory.CreateDirectory(logDirectory); } Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(configuration) .WriteTo.File( path: logFileFullPath, rollingInterval: RollingInterval.Day, shared: true, retainedFileCountLimit: 30, outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss} [{Level:u3}] {Message:lj}{NewLine}{Exception}" ) .CreateLogger(); } public static void LogInformation(string message) { Log.Information($"{message}"); } public static void LogError(string message, Exception ex) { Log.Error(ex, message); } } }