4D le permite obtener un historial de peticiones.
Este archivo se llama “logweb.txt” y se ubica automáticamente:
- con 4D en modo local y 4D Server, en la carpeta Logs ubicada junto al archivo de estructura de la base.
- con 4D en modo remoto, en la subcarpeta Logs de la carpeta de base del cliente 4D (carpeta caché).
La activación y la configuración del contenido del archivo de historial se efectúa en las Propiedades de la base, página Web/Historial (formato):
Nota: la activación y desactivación del archivo de historial de las peticiones puede igualmente realizarse por programación utilizando el comando SET DATABASE PARAMETER (4D v12) o WEB SET OPTION (4D v13 y posteriores).
El menú de formato del log ofrece las siguientes opciones:
- Sin historial: cuando esta opción está seleccionada, 4D no generará un archivo de historial de las peticiones.
- CLF (Common Log Format): cuando se selecciona esta opción, el historial de peticiones se genera en formato CLF. Con el formato CLF, cada línea de archivo representa una petición, tal como:
host rfc931 user [DD/MMM/YYYY:HH:MM:SS] "request" state length
Cada campo está separado por un espacio y cada línea termina en la secuencia CR/LF (carácter 13, carácter 10).
- host: dirección IP del cliente (ej. 192.100.100.10)
- rfc931: información no generada por 4D, es siempre - (un signo menos)
- usuario: nombre del usuario tal como se autentica, o de lo contrario - (signo menos). Si el nombre de usuario contiene espacios, serán reemplazados por _ (un guión bajo)
- DD: día, MMM: abreviación de 3 letras del nombre del mes (Ene, Feb,...), YYYY: año, HH: hora, MM: minutos, SS: segundos
- La fecha y hora son locales al servidor.
- request: petición enviada por el cliente (ej. GET /index.htm HTTP/1.0)
- state: respuesta dada por el servidor.
- length: tamaño de los datos devueltos (excepto el encabezado HTTP) ó 0.
Nota: por razones de rendimiento, las operaciones se guardan en un buffer de memoria en paquetes de 1Kb antes de ser escritas en el disco. Las operaciones también están escritas en el disco si ninguna petición ha sido enviado cada 5 segundos.
Los posibles valores del estado son los siguientes:
200: OK
204: Sin contenido
302: Redirección
304: No modificado
400: Autenticación incorrecta
401: Autenticación necesaria
404: No encontrada
500: Error interno
El formato CLF no puede personalizarse.
- DLF (Combined Log Format): cuando se selecciona esta opción, el historial de peticiones se genera en el formato DLF. El formato DLF es similar al formato CLF y utiliza exactamente la misma estructura. Simplemente contiene dos campos HTTP adicionales al final de cada petición: Referer y User-agent.
- Referer: contiene el URL de la página que apunta al documento solicitado.
- User-agent: contiene el nombre y la versión del navegador o del paquete cliente en el origen de la petición.
El formato DLF no puedes personalizarse.
- ELF (Extended Log Format): cuando esta opción está seleccionada, el historial de peticiones se genera en formato ELF. El formato ELF está ampliamente expandido en el mundo de los navegadores HTTP. Puede utilizarse para crear historiales sofisticados, que respondan a necesidades específicas. Por esta razón, el formato ELF es personalizable: es posible elegir los campos a grabar así como el orden de inserción en el archivo.
- WLF (WebStar Log Format): cuando se selecciona esta opción, el historial de peticiones se genera en formato WLF. El formato WLF fue desarrollado específicamente por el servidor 4D WebSTAR. Es similar al formato ELF, con sólo unos pocos campos adicionales. Al igual que el formato ELF, es personalizable.
Configurar los campos
Cuando elige el formato ELF (Extended Log Format) o WLF (WebStar Log Format), el área “Formato personalizado del historial Web” muestra los campos disponibles para el formato. Debe seleccionar cada campo a incluir en el historial. Para hacerlo, utilice los botones de flecha o simplemente arrastre y suelte los campos que quiere al área “Campos seleccionados”.
Nota: no es posible seleccionar el mismo campo dos veces.
La siguiente tabla lista los campos disponibles para cada formato (en orden alfabético) y describe sus contenidos:
Campo | ELF | WLF | Valor |
BYTES_RECEIVED | | X | Número de bytes recibidos por el servidor |
BYTES_SENT | X | X | Número de bytes enviados por el servidor al cliente |
C_DNS | X | X | Dirección IP del DNS (ELF: campo idéntico al campo C_IP) |
C_IP | X | X | Dirección IP del cliente (por ejemplo 192.100.100.10) |
CONNECTION_ID | | X | Número único de la conexión |
CS(COOKIE) | X | X | Información sobre las cookies contenidas en al petición HTTP |
CS(HOST) | X | X | Campo Host de la petición HTTP |
CS(REFERER) | X | X | URL de la página que apunta al documento solicitado |
CS(USER_AGENT) | X | X | Información sobre el software y el sistema operativo del cliente |
CS_SIP | X | X | Dirección IP del servidor |
CS_URI | X | X | URI en la cual la petición se efectúa |
CS_URI_QUERY | X | X | Parámetros de búsqueda de peticiones |
CS_URI_STEM | X | X | Parte de la petición sin los parámetros de búsqueda |
DATE | X | X | DD: día, MMM: abreviación de 3 letras para el mes (Ene, Feb, etc.), YYYY: año |
METHOD | X | X | Método HTTP utilizado para la petición enviada al servidor |
PATH_ARGS | | X | Parámetros de la CGI: cadena ubicada después del carácter “$” |
STATUS | X | X | Respuesta ofrecida por el servidor |
TIME | X | X | HH: hora, MM: minutos, SS: segundos |
TRANSFER_TIME | X | X | Tiempo solicitado por el servidor para generar la respuesta |
USER | X | X | Nombre del usuario si es autenticado; de lo contrario - (signo menos). |
| | | Si el nombre de usuario contiene espacios, se reemplazan por _ (guiones bajos) |
URL | | X | URL solicitada por el cliente |
Nota: fechas y horas dadas en GMT.