Nxlog
nxlog基本架构
nxlog是事件驱动的多线程App。nxlog内核只负责配置文件解析/文件和Socket监控/内部事件管理,任何module可以dispatch事件到内核。内核会有选择性分发到对应处理module。
nxlog Config文件基本结构
配置引入
用include引入其他地方的配置,对实际功能无影响。与Apache配置类似,不研究
宏定义
用这个定义一些宏,对实际功能无影响。与C的宏类似,不研究
全局指令
内置的一些指令
Module
一个ConfigBlock如下
<Input instancename>
Module im_module
...
</Input>
顶级ConfigBlock可以分为四种,Input, Processor, Output and Extension tags.
ConfigBlock必须由上面四个类型+命名。命名规则 [a-zA-Z0-9_-]
。有一些通用Block可以在多种类型的模块中使用。以下列举一些。
指令 | 模块范围 | 作用 |
---|---|---|
FlowControl |
Input, Processor |
顺序控制,但有可能照成消息丢失 |
Schedule |
All |
通过When,Every,First,Exec 四个子指令实现筛选,频率,开始时间 |
Processors |
作废了 |
|
InputType |
Input |
LineBased,Dgram,Binary |
Output |