Skip to content
Qiao Junlong edited this page Dec 3, 2015 · 8 revisions

日志路径模式

  • 不包含时间格式

    例如,/usr/local/logkafka/systest/src/logkafka_test

    我们建议不要采用这种日志路径,因为随着日志文件增长超过一定大小,就必须轮转为新的日志,例如,将其重新命名为/usr/local/logkafka/systest/src/logkafka_test.bak,此时,如果之前的文件未发送完成,那么logkafka就仍旧打开着该文件,直到.bak文件被收集完以后才会重新打开原先日志路径对应的新文件。但是,在日志轮转之后,.bak文件还没有被收集完之前,如果logkafka崩溃,那么.bak中剩余的数据将丢失。

    如果这种情况已经发生,恢复的策略是,添加新的配置项,将/usr/local/logkafka/systest/src/logkafka_test.bak收集完,但是可能会造成很多重复数据。

  • 包含时间格式

    例如,

    /usr/local/logkafka/systest/src/logkafka_test.%Y%m%d%H
    /usr/local/logkafka/systest/src/logkafka_test.%Y-%m-%d-%H
    /usr/local/logkafka/systest/src/%Y/%m/%d%H/logkafka_test
    

    可以在日志路径模式中任意一处嵌入时间格式。对于特定的日志路径模式,logkafka将按照时间顺序扫描文件并逐个收集。

行分隔符

默认的行分隔符是\n,当创建或修改日志配置项时,可以通过设置line_delimiter修改行分隔符。line_delimiter目前只能是ascii字符的十进制数值,例如,控制字符\n对应的十进制数值是10

请参考ASCII表

默认情况下,logkafka在发送消息时,会去除其中的行分隔符,如果想要保留行分隔符,可以设置remove_delimiterfalse

Clone this wiki locally