A library of declaration is a folder on the filesystem that holds declarations for parsers, enrichers, correlators and other YAML elements such as
A library has a prescribed structure:
library/ <parser group 1>/ p01_<parser>.yaml p02_<parser>.yaml e01_<enricher>.yaml e02_<enricher>.yaml include/ head_parser.yaml spec_parser.yaml ... test/ test01.yaml ... <parser group 2>/ <parser group 2>/ <correlator group 1>/ <correlator group 2>/ ... include/
The parser group is a set of parser and enricher declarations that is operated within the same parser type.
The naming pattern eg.
p01_<...>.yaml is recommended because it provides the control over the order of execution and a visual differentiator between parsers and enrichers.
The order of files being loaded to the pipeline is alphabetical, thus parser with a name
p01_<...>.yaml will be loaded
into the pipeline before the
library/<parser group/include is the implicit location of the
!INCLUDE YAML files used within a parser group.
library/include is the recommended explicit location of the
!INCLUDE YAML files used globally. It has to be specified explicitly (eg. by
library/<* group/test is location of the unit test for the given group, see
lmio-correlator for more details about how to approach unit tests of the library.
The library is designed to be easily manageable by a version control systems such as Git or Subversion.