Hotfix - Importación - Evitar errores innecesarios en el log #518
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Derivado de un problema en una entidad en que se generó un log de errores muy grande, se observa que se estaba grabando el error "Caught error: Undefined variable: sessionIdWhere".
Este error se producía por estar usando una variable que no se definía en todos los casos. Se corrige este punto.
Además se observa que en la importación, cuando hay un error, éste pasa por la rutina handleImportErrors. Esta rutina está grabando en el log connivel fatal todos los errores que le lleguen aunque luego en la mayoría de casos prosigue con la ejecución. Se modifica la rutina para utilizar el log correspondiente al nivel de criticidad y se añade también las referencias al fichero y línea en que se origina el error.
Motivation and Context
Reducir el número de errores que se graban en el log y tener mayor información cuando se generen nuevos.
How To Test This
Para comprobar que no se produce el error de sessionIdWhere:
1.- Realizar una importación de un par de inscripciones
2.- Modificar la fecha de inscripción de las inscripciones en el fichero de importación
3.- Volver a importar
4.- Comprobar que no aparecen referencias al sessionIdWhere
Para comprobar las modificaciones a la gestión de errores del importador
1.- Provocar algún error en una importación (por ejemplo, modificar temporalmente el Utils.php modificado en este mismo POR para que genere el aviso de variable no definida)
2.- Comrpobar en el log que aparece con la criticidad adecuada e indicando el fichero y línea en que se origina el error
Nota: En las importaciones de inscripciones es posible que aparezca un error como
Caught error: Trying to access array offset on value of type bool /application/testissues2/modules/stic_Events/LogicHooksCode.php 34
. Se abre issue a parte para tratar ese caso: #519 .