\AuditorBD

Auditor que guarda los mensajes en la base de datos.

El uso primario es de auditar las operaciones de inserción, modificación y borrado de XGAP.

Summary

Methods
Properties
Constants
__construct()
getLogFileName()
formatVar()
log()
setConexion()
No public properties found
TIPO_LOG_OPERACION
TIPO_LOG_ERROR
TIPO_LOG_ADVERTENCIA
TIPO_LOG_INFORMACION
TIPO_LOG_OTRO
EN_ERROR_NADA
EN_ERROR_DISPARAR_EXCEPCION
EN_ERROR_DISPARAR_ERROR_APL
TABLA_LOG
_formatMsg()
dispararError()
$_usuario_sistema
$error_disparado
N/A
No private methods found
No private properties found
N/A

Constants

TIPO_LOG_OPERACION

TIPO_LOG_OPERACION

Indica que la entrada de log registra una operación.

TIPO_LOG_ERROR

TIPO_LOG_ERROR

Indica que la entrada de log registra un error.

TIPO_LOG_ADVERTENCIA

TIPO_LOG_ADVERTENCIA

Indica que la entrada de log registra una advertencia.

TIPO_LOG_INFORMACION

TIPO_LOG_INFORMACION

Indica que la entrada de log registra un mensaje informativo.

TIPO_LOG_OTRO

TIPO_LOG_OTRO

Indica que la entrada de log registra un mensaje que corresponde a una categoría no contemplada explícitamente.

EN_ERROR_NADA

EN_ERROR_NADA

Comportamiento cuando se produce un error al guardar una entrada de log: ignorarlo silenciosamente.

EN_ERROR_DISPARAR_EXCEPCION

EN_ERROR_DISPARAR_EXCEPCION

Comportamiento cuando se produce un error al guardar una entrada de log: disparar una excepcion {@link ExcepcionXGAP}.

EN_ERROR_DISPARAR_ERROR_APL

EN_ERROR_DISPARAR_ERROR_APL

Comportamiento cuando se produce un error al guardar una entrada de log: disparar un {@link Mensaje::errorAplicacion() error de aplicación}.

TABLA_LOG

TABLA_LOG

Nombre de la tabla donde se guardan los mensajes.

Esta tabla debe estar dentro del esquema dado por el parámetro de configuración esquema_seguridad.

Properties

$_usuario_sistema

$_usuario_sistema : string

Type

string

$error_disparado

$error_disparado : boolean

Type

boolean

Methods

__construct()

__construct(string  $usuario_sistema) 

Constructor de la clase.

Parameters

string $usuario_sistema

getLogFileName()

getLogFileName() : string

Retorna el nombre del archivo log.

Returns

string

formatVar()

formatVar(mixed  $var, boolean  $aplanar = true) : string

Formatea una variable para emitir al log.

Importante: No usar con variables que sean de tipo resource o tengan dependencias circulares.

Parameters

mixed $var

la variable a formatear

boolean $aplanar

¿se deben eliminar los saltos de línea que pudiera haber en el valor de la variable o dejar intacta? Si es true, las secuencias de [\n\r] se reemplazan por un espacio.

Returns

string

log()

log(string  $src, string  $msg, string  $operacion = '', string  $tipo = '', boolean  $en_error = self::EN_ERROR_DISPARAR_ERROR_APL) 

Guarda en la base de datos el mensaje dado.

Parameters

string $src

origen del mensaje: función, método o archivo

string $msg

texto del mensaje

string $operacion

operación que motivó el mensaje

string $tipo

tipo de mensaje: una de las constantes Auditor::TIPOLOG*

boolean $en_error

comportamiento cuando se produce un error; una de las constantes Auditor::ENERROR*; si se pasa un valor no reconocido, se aplica como si fuera Auditor::EN_ERROR_DISPARAR_EXCEPCION; notar que el valor por defecto es distinto que en

Auditor::log(), para mantener compatibilidad hacia atrás

Throws

\ExcepcionXGAP

si se produce un error y $en_error == Auditor::EN_ERROR_DISPARAR_EXCEPCION

setConexion()

setConexion(\Conexion  $conexion) 

Establece la conexión a usar.

Parameters

\Conexion $conexion

_formatMsg()

_formatMsg(string  $src, string  $msg, string  $operacion = '', string  $tipo = '') : string

Prepara el texto de un mensaje con el formato de salida.

Parameters

string $src

origen del mensaje: función, método o archivo

string $msg

texto del mensaje

string $operacion

operación que motivó el mensaje

string $tipo

tipo de mensaje: una de las constantes Auditor::TIPOLOG*

Returns

string

dispararError()

dispararError(string  $tipo, string  $msg_usr, string  $msg_dev, \ExcepcionXGAP  $exc_original = null) 

Dispara el error del modo que corresponda de acuerdo al tipo indicado.

No tiene efecto si ya se había disparado un error anteriormente en esta instancia, para evitar una posible recursión.

Parameters

string $tipo

una de las constantes Auditor::ENERROR*

string $msg_usr
string $msg_dev
\ExcepcionXGAP $exc_original

Throws

\ExcepcionXGAP

si $tipo == self::EN_ERROR_DISPARAR_ERROR_APL