ACTIVACION DE LOG


Para activar el log hemos de cambiar los parámetros loglevel del fichero replicator.ini en la carpeta Windows. Tenemos posibilidad de activar el log del servidor de réplica y el log de la base de datos de un proyecto concreto.


En la clave [server] buscaremos “LogLevel” y le pondremos valor a 7.
En la clave [dbid-1] o el número que tengamos asociado al proyecto del que queremos obtener log también buscaremos esta clave “LogLevel” y la pondremos también a 7.

Tras hacer este cambio, hay que reiniciar el servidor de réplica para que los cambios en el fichero replicator.ini surtan efecto. Si no le hemos indicado lo contrario, los archivos de log generados se encontrarán en la ruta “C:\Windows\System32\LogFiles\CGSoftRpl\”.

En caso de que tengamos la configuración del servidor de réplica en base de datos, en la base de datos XOneReplicator, hemos de buscar estas dos claves LogLevel. La clave para el log del servidor está en la tabla “SCRATCH_CONFIGURATION” y el log del proyecto concreto del que deseamos el log hemos de buscarlo en la tabla “SCRATCH_DBCONFIG”, mirando el registro que corresponde al DBID del proyecto.


El sistema de réplica de la parte servidora dispone de un mecanismo de control, de tal forma que se puede generar un Log donde se guardan todas y cada una de las acciones realizadas.

El sistema de Log puede llegar a escribir bastante, por lo que es conveniente que solo se active si averiguamos que existe algún tipo de error en nuestro sistema.


La Base de Datos de la solución, dispone de una tabla que escribe los errores principales, es la tabla master_replica_errorlog.

Para que se escriban los errores en esta tabla no hay que hacer nada, ya que por defecto, si existe algún error importante, se escribe el error en dicha tabla, poniendo que licencia da dicho error y una descripción del mismo.


Este Log es mucho más potente, y aquí si se escriben todas y cada una de las operaciones, antes o después de existir el error.

El Log de fichero por defecto se guarda en la ruta %SYSTEM32%\LogFiles\CgsoftRpl.

Existen tres tipos de Log de fichero:


  1. LOG DE LICENCIA
  2. LOG DE SERVIDOR
  3. LOG DE BASE DE DATOS


El log de licencia y el de servidor se activan con el LogLevel de la clave [server] del replicator.ini o de la tabla “SCRATCH_CONFIGURATION” en el caso que tengamos la configuración en base de datos.


Su formato es: SV.licenciadebasededatos_ficheroLIC.yyyymmdd.txt

Dicho fichero comprueba si el ejecutable está bien asociado al fichero LIC de Windows.

Este Log nos dirá si todo está correcto, y si hay algún problema en este sentido no podrá iniciarse.

Este problema se puede provocar porque el LIC no sea de la misma licencia que el ejecutable.


Su formato es SVyyyymmdd.txt

Dicho fichero es de servidor, y lo que hace es loguear todas las conexiones de los dispositivos que se conectan al mismo.

De cada conexión de cada dispositivo, mostrará la licencia, y la acción que se está realizando, ya sea enviar información o recibir.


Su formato es SV.12345678.yyyymmdd.txt

Aquí se controlan todas y cada una de las operaciones realizadas a nivel de base de datos, ya sea de réplica de los dispositivos o selectividad.

Este es el Log que hay que revisar para ver cualquier tipo de problema que tengamos, ya que mostrará el recorrido que ha llevado el sistema hasta llegar al momento del error.

Los errores pueden ser problemas con la selectividad por estar mal los criteria de las tablas, errores con SQL de insert o update por falta de campos o nombres mal puestos en las aplicaciones o problemas de rendimiento.


El valor de esta clave es 0 por defecto. En caso de que se especifique un nivel superior, el servidor dejará en un fichero llamado IQUEUE.LOG.TXT todas las operaciones que lleguen antes de insertarlas en la cola de entrada. Esto puede ser útil durante la puesta en marcha de un sistema para verificar que las operaciones que llegan de cada cliente se estén recibiendo correctamente, ya que en el servidor una vez que se van procesando, se eliminan del iqueue.

Cuando por algún error de desarrollo o configuración de la aplicación durante la puesta en marcha se pierden operaciones, este mecanismo puede ayudar a determinar si se trata de operaciones que no han llegado nunca al servidor o si se están perdiendo por alguna causa (i.e. algún error en la base de datos).

Una vez puesto en marcha el sistema esta clave se debe desactivar, ya que penaliza la recepción de operaciones. Basta con eliminarla del fichero de configuración, ya que por defecto está desactivada.

Niveles posibles
1 Registra entradas en el iqueue y errores.
2 Reporta duplicados (operaciones que se mandan más de una vez, tanto si está en iqueue como en main queue) también deja registro de que la inserción en iqueue fue correcta.


TIPOS DE ERRORES



ERROR DESCRIPCIÓN
0 RPLR_ACK: Comando Correcto.
100 RPLR_RETRY_OPER: Reintentar obtener la siguiente operación.
101 RPLR_IGNORE_OPERATION: Ignorar la operación. Intentar con la siguiente
180 RPLR_PROXY_INIT: Error de inicialización de proxy.
181RPLR_NOCONN_AVAIL: No hay conexión disponible.
182RPLR_NO_INTERNET: No hay conexión de internet.
183RPLR_INTERNET_ERROR: Error genérico de Internet.
190RPLR_CNDCHK_ERROR: Error de condición de check.
191RPLR_QUEUE_ERROR: Error general del iqueue.
200RPLR_FILERPL_ERROR: Error general de replica de fichero.
201RPLR_DATA_CONFLICT: Conflictos de datos sin resolver.
202RPLR_NO_RECORDS: No hay más operaciones.
203RPLR_NO_BLOCKS: No hay más bloques de archivos.
204RPLR_NO_TIMESTAMP: Marca horaria no encontrada.
205RPLR_SQL_ERROR: Error general de SQL.
206RPLR_INVALID_SEQ: Secuencia de comando inválida.
207RPLR_LOG_ERROR: Error de operación de Log.
208RPLR_BAD_FILESTS: Status de archivo incorrecto.
209RPLR_CMD_OBSOLETE: El comando está obsoleto.
210RPLR_INVALID_LIC: Licencia de cliente inválida.
211RPLR_INPUT_HOLD: Conflicto entrante en el Queue.
212RPLR_COMM_ERROR: Error general de comunicaciones.
213RPLR_LOCK_ERROR: Error de bloqueo de acceso (Límite de tiempo).
216RPLR_NOT_SUPPORTED: Operación no soportada.
219RPLR_NO_HISTORY: La operación no tiene historial.
220RPLR_DATA_ERROR: Error general de datos.
221RPLR_NO_FILERPL: No hay tablas de réplica de archivos.
222RPLR_NO_FILERPL_CL: Réplica del archivo del cliente no establecida.
223RPLR_INVALID_OPER: Operación inválida.
224RPLR_NOT_ALLOWED: Operación no permitida.
225RPLR_FILE_ACCESS: No se puede acceder al archivo.
226RPLR_FILE_OBSOLETE: El archivo está obsoleto.
227RPLR_BLOCK_ACK: Respuesta de Bloque ACK.
228RPLR_FILE_CHANGED: El archivo ha cambiado en el servidor.
229RPLR_RFILE_CREATE: No se puede crear el archivo.
230RPLR_MISSING_PARAM: Parámetro desaparecido.
231RPLR_FILE_RENAME: No se puede renombrar el archivo temporal.
232RPLR_TMPFILE_GONE: El archivo temporal ha sido borrado.
233RPLR_NO_SESSION: El cliente no se ha logeado.
234RPLR_CRYPT_ERROR: Error de cifrado de motor.
235RPLR_NO_CPX_METHOD: Método de compresión no soportado.
236RPLR_FILE_DECPX: Error de descomprensión de archivo.
237RPLR_FILE_GONE: El archivo ha sido borrado.
238RPLR_INTERNET_FAIL: Fallo al abrir internet.
240RPLR_SYNTAX_ERROR: Error de sintáxis.
244RPLR_CRC_ERROR: Error de operación o de bloque CRC.
247RPLR_FILE_NOTQ: Archivo no encontrado en el Queue.
248RPLR_BATCH_ERROR: Componentes de Batch incorrectos.
250RPLR_ENCODE_ERROR: Error de respuesta codificada.
251RPLR_NET_ERROR: Error general de Red.
253RPLR_TYPE_MISMATCH: Los tipos no coinciden.
254RPLR_MAP_ERROR: Error de resolución de Map.
255RPLR_GENERAL_ERROR: Error no especificado.



Valor Descripción
0 FS_OK: El fichero está completo y sin errores.
1 FS_READY_TO_GO: El fichero está listo para viajar del servidor al cliente. BLOCKS contiene la cantidad de bloques BLOCK=0 o NULL.
2 FS_READY_TO_COME: El fichero está listo para viajar del cliente al servidor. BLOCKS contiene la cantidad de bloques BLOCK=0 o NULL.
3 FS_OUTGOING: El fichero está bajando del servidor al cliente. BLOCK con tiene el bloque último enviado correctamente y confirmado por el cliente (el primero es cero).
4 FS_INCOMING: El fichero está subiendo del cliente al servidor. BLOCK contiene el bloque último recibido correctamente y escrito en el fichero temporal indicado en TMPFILE. Si BLOCK==BLOCKS-1 se han recibido todos los bloques y el fichero debería haberse movido hacia su destino permanente.
5 FS_FILENOTFOUND: No se encuentra el fichero en el servidor para mandarlo al cliente. El servidor reintentará estos ficheros cada cierto tiempo por si se han movido temporalmente.
6 FS_CANNOTCREATE: No se puede crear el fichero en el cliente. Este estado no se usa en el servidor.
7 FS_CANNOTOPEN: No se puede abrir el fichero para enviar al servidor. Este estado no se usa en el servidor, solo en los clientes.
8 FS_CANNOTREAD: No se puede leer el fichero para enviar al servidor. Este estado no se usa en el servidor.
9 FS_COMPLETE_PENDING: El fichero se ha marcado como pendiente por alguna causa relacionada con su uso en el cliente (i.e. está abierto por otro proceso) y el cliente ha decidido enviar el siguiente y posponer este. No todos los clientes soportan este estado.
200 FS_PENDING: El fichero está en la cola del servidor para enviarlo al cliente, pero el cliente aún no lo ha confirmado.
201 FS_COMPLETE: El fichero se ha terminado de enviar o de recibir. Se eliminará de la cola dentro de unos minutos.
202 FS_NOTIFIED: Fichero notificado.
203 RPLR_NO_BLOCKS: No existen más ficheros de bloques.
208 RPLR_BAD_FILES: Status de fichero incorrecto.
220 FS_NO_SUPPORT: No soporte de ficheros.
221 RPLR_NO_FILERPL: No hay tablas de réplica de ficheros.
222 RPLR_NO_FILERPL_CL: Fichero de Réplica de cliente no existe.
223 RPLR_INVALID_OPER: Operación Inválida.
224 FS_SERVER_ERROR: Error del servidor.
225 RPLR_FILE_ACCES: No se puede acceder al fichero.
226 RPLR_FILE_OBSOLETE: El fichero que se estaba subiendo hacia el servidor ha cambiado en el cliente y se va a reiniciar el envío.
228 RPLR_FILE_CHANGED: Se ha cambiado el fichero en el Server.
229 RPLR_FILE_CREATE: No se puede crear el archivo.
230 RPLR_MISSING_PARAM: Parámetro omitido
231 RPLR_FILE_RENAME: No se puede renombrar el Fichero Temporal
232 RPLR_TMPFILE_GONE: El Fichero Temporal ha sido borrado.
236 RPLR_FILE_DECPX: Error al descomprimir fichero.
237 RPLR_FILE_GONE:: Fichero borrado.
247 RPLR_FILE_NOTQ: Fichero no está en cola.
-1 FS_FAILED: Ha ocurrido algún error leyendo o escribiendo en el fichero. El servidor intentará la operación cuando no tenga más ficheros pendientes bien sea poniéndolo a 200 ó indicándole al cliente que vuelva a enviarlo. Se puede hacer a mano por un administrador.
-2 FS_FAILED_UP: Ha fallado el envío de cliente a servidor. El servidor lo reintentará posteriormente poniéndolo a 200 para reiniciar el ciclo.
Se puede hacer a mano por un administrador si se quiere forzarlo y no esperar por el servidor.
-3 FS_STOPPED: Archivo parado.
-4 FS_DELAYED: Archivo retrasado.