Puede configurar analizadores de valores separados por comas (Comma-Separated Value, CSV) para recopiladores FileLog y WinLog.

Las opciones disponibles para el analizador csv son fields y delimiter.

Opciones de analizadores de valores separados por comas

Tenga en cuenta la siguiente información acerca de la estructura del analizador de csv.

Opción Descripción
fields

La opción fields especifica los nombres de los campos que existen en el registro. La cantidad total de nombres de campos listados debe ser igual a la cantidad total de campos separados por comas en los registros.

La opción fields es obligatoria para el analizador de CSV. Si no se especifica, no se analiza nada. Las comillas dobles que rodean el valor de campo son opcionales, y dependen del contenido del campo.

Los nombres de campos deben estar separados por comas, por ejemplo
fields = field_name1, field_name2, field_name3, field_name4
Esta definición supone que los nombres field_name1, field_name2, field_name3 y field_name4 están asignados secuencialmente a los campos extraídos.

Si el analizador de CSV debe omitir algunos campos, sus nombres se pueden omitir de la lista. Por ejemplo,

 fields = field_name1, , field_name3, field_name4

En este caso, el analizador extrae únicamente los campos primero, tercero y cuarto del evento y posteriormente les asigna los nombres field_name1, field_name3 y field_name4.

Si la opción fields no especifica una lista completa de los campos en sus registros, el analizador devolverá una lista vacía. Por ejemplo, si el archivo de registro contiene field1, field2, field3, field4 y field5, pero únicamente se especifica fields= field1,field2,field3, el analizador devuelve una lista de campos vacía.

No puede usar fields=* para un analizador de CSV porque el analizador devuelve una lista de campos vacía. Se debe especificar una lista completa de los campos, a menos que necesite que determinados campos se omitan como ya se ha descrito.

delimiter

La opción delimiter especifica el delimitador que debe usar el analizador. De forma predeterminada, el analizador de csv usa una coma como delimitador; sin embargo, puede cambiar el delimitador por un punto y coma, un espacio u otro carácter especial. El delimitador definido debe estar encerrado entre comillas dobles.

Por ejemplo, delimiter="," y delimiter=";".

El analizador de csv es compatible con cualquier conjunto de caracteres como delimitadores que se encuentran encerrados entre comillas (por ejemplo, "||" o "asd"). Los separadores de valores de campos en los registros deben coincidir exactamente con el patrón definido por el parámetro de delimitador; de lo contrario, se producirá un error en el analizador.

Pueden definirse caracteres especiales, como un espacio o un carácter de tabulación, como delimitadores para el analizador de csv, siempre que el carácter de escape esté antes del carácter especial para (\", \s, \t). Por ejemplo, delimiter="\s" o delimiter=" ".

La opción delimiter es opcional.

Configuración del analizador de registros CSV

Para analizar sintácticamente los registros de cualquiera de los dos orígenes, winlog o filelog, utilice la siguiente configuración.

[filelog|some_csv_logs]
directory=D:\Logs
include=*.txt;*.txt.*
parser=myparser

[parser|myparser]
base_parser = csv
fields = timestamp,field_name1, field_name2, field_name3
delimiter = ";"
field_decoder={"timestamp": "tsp_parser"}
[parser|tsp_parser]
; timestamp is a built-in parser
base_parser=timestamp            
; "format" is an option of timestamp parser 
format=%Y-%m-%d %H:%M:%S

Con esta configuración, los registros recopilados desde el origen some_csv_logs, por ejemplo desde el directorio directory=D:\Logs, son analizados sintácticamente por myparser. Si los registros recopilados contienen tres valores que están separados por punto y coma, los eventos analizados recibirán secuencialmente los nombres field_name1, field_name2 y field_name3.

Para analizar el siguiente registro de CSV:

"United States","USA","North America","High income: OECD","Fiscal year end: September 30; reporting period for national accounts data: CY."
Defina la configuración del analizador de CSV:
[parser|csv_log_parser]
base_parser=csv
fields=country_name, country_code, region, income_group, special_notes
El analizador de CSV devuelve los siguientes campos:
country_name=United States
country_code=USA
region=North America
income_group=High income: OECD
special_notes=Fiscal year end: September 30; reporting period for national accounts data: CY.