prueba logs

This commit is contained in:
bcastrogallardo 2025-09-11 13:05:43 -03:00
parent 6335ff42e0
commit f62bb133c5
2 changed files with 118 additions and 74 deletions

View file

@ -24,91 +24,121 @@ namespace BLL.Recuperacion_DGA
public async Task<bool> RegistrarMedicionesAsync() public async Task<bool> RegistrarMedicionesAsync()
{ {
try //try
{ //{
await _logEnvioRepository.InsertarLogProcesoAsync(new LogProceso // await _logEnvioRepository.InsertarLogProcesoAsync(new LogProceso
{ // {
FechaEjecucion = DateTime.UtcNow, // FechaEjecucion = DateTime.UtcNow,
NombreProceso = "ENVIO DATOS DGA" // NombreProceso = "ENVIO DATOS DGA"
}); // });
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("INICIO", "Inicio proceso de recuperación DGA", ""); // ConsoleLoggerHelper.WriteLineAndLogEventoAsync("INICIO", "Inicio proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogInfo("Obteniendo Mediciones Scada", ConsoleColor.Green); // ConsoleLoggerHelper.WriteLineAndLogInfo("Obteniendo Mediciones Scada", ConsoleColor.Green);
var logsEnviado = new LogMedicionEnvio(); // var logsEnviado = new LogMedicionEnvio();
var pageNumber = 1; // var pageNumber = 1;
var fechaInicio = DateTime.UtcNow; // var fechaInicio = DateTime.UtcNow;
var cont = 1; // var cont = 1;
while (true) // while (true)
{ // {
var mediciones = await _dGAMedicionRepository.ObtenerMedicionesPorLoteAsync(pageNumber, fechaInicio); // var mediciones = await _dGAMedicionRepository.ObtenerMedicionesPorLoteAsync(pageNumber, fechaInicio);
var totalMediciones = await _dGAMedicionRepository.ObtenerTotalMediciones(fechaInicio); // var totalMediciones = await _dGAMedicionRepository.ObtenerTotalMediciones(fechaInicio);
if (mediciones == null || mediciones.Count == 0) // if (mediciones == null || mediciones.Count == 0)
{ // {
break; // break;
} // }
foreach (var medicion in mediciones) // foreach (var medicion in mediciones)
{ // {
try // try
{ // {
var fechaEnvio = DateTime.UtcNow; // var fechaEnvio = DateTime.UtcNow;
var body = new MedicionSubterraneaRequest // var body = new MedicionSubterraneaRequest
{ // {
Autenticacion = new Autenticacion // Autenticacion = new Autenticacion
{ // {
Password = medicion.Password ?? "", // Password = medicion.Password ?? "",
RutEmpresa = medicion.Empresa_Informante == "EV" ? CredencialDGA.RutEsval : CredencialDGA.RutAv, // RutEmpresa = medicion.Empresa_Informante == "EV" ? CredencialDGA.RutEsval : CredencialDGA.RutAv,
RutUsuario = medicion.RUT ?? "" // RutUsuario = medicion.RUT ?? ""
}, // },
MedicionSubterranea = new Medicion // MedicionSubterranea = new Medicion
{ // {
Caudal = medicion.CAUDAL ?? "", // Caudal = medicion.CAUDAL ?? "",
FechaMedicion = medicion.FECHA_MEDICION_CAUDAL?.ToString("yyyy-MM-dd") ?? "", // FechaMedicion = medicion.FECHA_MEDICION_CAUDAL?.ToString("yyyy-MM-dd") ?? "",
HoraMedicion = medicion.FECHA_MEDICION_CAUDAL?.ToString("HH:mm:ss") ?? "", // HoraMedicion = medicion.FECHA_MEDICION_CAUDAL?.ToString("HH:mm:ss") ?? "",
NivelFreaticoDelPozo = medicion.NIVEL_FREATICO_DEL_POZO ?? "", // NivelFreaticoDelPozo = medicion.NIVEL_FREATICO_DEL_POZO ?? "",
Totalizador = medicion.TOTALIZADOR_CAUDAL ?? "", // Totalizador = medicion.TOTALIZADOR_CAUDAL ?? "",
} // }
}; // };
ConsoleLoggerHelper.WriteLineAndLogInfo($"Enviando medición DGA {cont} - {totalMediciones}", ConsoleColor.Yellow); // ConsoleLoggerHelper.WriteLineAndLogInfo($"Enviando medición DGA {cont} - {totalMediciones}", ConsoleColor.Yellow);
var response = await _registrarMedicion.EnviarMedicionAsync(medicion, body, fechaEnvio); // var response = await _registrarMedicion.EnviarMedicionAsync(medicion, body, fechaEnvio);
logsEnviado = response; // logsEnviado = response;
await _logEnvioRepository.InsertarLogRespuesta(logsEnviado); // await _logEnvioRepository.InsertarLogRespuesta(logsEnviado);
if (logsEnviado.ESTADO_ENVIO == "EXITO") // if (logsEnviado.ESTADO_ENVIO == "EXITO")
{ // {
await _dGAMedicionRepository.GuardarMedicionesEnviadaAsync(medicion.ID); // await _dGAMedicionRepository.GuardarMedicionesEnviadaAsync(medicion.ID);
} // }
ConsoleLoggerHelper.WriteLineAndLogInfo($"Estado medición enviada {logsEnviado.ESTADO_ENVIO ?? ""}", ConsoleColor.Yellow); // ConsoleLoggerHelper.WriteLineAndLogInfo($"Estado medición enviada {logsEnviado.ESTADO_ENVIO ?? ""}", ConsoleColor.Yellow);
cont++; // cont++;
} // }
catch (Exception ex) // catch (Exception ex)
{ // {
ConsoleLoggerHelper.WriteLineAndLogInfo($"[Error]: medicion[{medicion.ID}], mensaje: {ex.Message}"); // ConsoleLoggerHelper.WriteLineAndLogInfo($"[Error]: medicion[{medicion.ID}], mensaje: {ex.Message}");
} // }
} // }
mediciones.Clear(); // mediciones.Clear();
pageNumber++; // pageNumber++;
} // }
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN","Fin proceso de recuperación DGA",""); // ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN","Fin proceso de recuperación DGA","");
} //}
catch (Exception ex) //catch (Exception ex)
{ //{
FileLoggerHelper.LogError($"[Error] {ex.Message}.", ex); // FileLoggerHelper.LogError($"[Error] {ex.Message}.", ex);
ConsoleLoggerHelper.WriteLineAndLogInfo($"Error al procesar las mediciones.", ConsoleColor.Red); // ConsoleLoggerHelper.WriteLineAndLogInfo($"Error al procesar las mediciones.", ConsoleColor.Red);
return false; // return false;
} //}
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
await Task.Delay(5000);
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
await Task.Delay(5000);
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
await Task.Delay(5000);
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
await Task.Delay(5000);
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
ConsoleLoggerHelper.WriteLineAndLogEventoAsync("FIN", "Fin proceso de recuperación DGA", "");
return true; return true;
} }

View file

@ -8,12 +8,26 @@ namespace Shared.Helper
{ {
public static void ConfigureLogger(IConfiguration configuration) public static void ConfigureLogger(IConfiguration configuration)
{ {
var logFilePath = configuration.GetSection("Logging:LogFile:Path").Value ?? ""; var logFilePath = configuration.GetSection("Logging:LogFile:Path").Value ?? "logs/log-.txt";
var logFileFullPath = Path.Combine(Directory.GetCurrentDirectory(), logFilePath);
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() Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration) .ReadFrom.Configuration(configuration)
.WriteTo.File(logFileFullPath, rollingInterval: RollingInterval.Day) .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(); .CreateLogger();
} }