2016-07-01 82 views
1

我使用log4js来记录我的应用程序,我想发送日志到logstash。从log4js发送JSON到logstash和字段

这里是log4js from here一个defalt附加器:

"appenders": [ 
    { 
     "type": "console" 
    }, 
    { 
     "host": "127.0.0.1", 
     "port": 5000, 
     "type": "logstashUDP" 
    } 
    ] 

这里是logstash配置文件:

input { 
    udp { 
    port => 5000 
    type => "json" 
    } 
} 

filter { 
    date { 
    match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ] 
    } 
} 

output { 
    stdout {} 
} 

发送日志正常工作,但我要送JSON日志和logstash我为json的每个charachter查看一个字段。

2016-07-01T10:29:36.161Z 127.0.0.1 { “@version”: “1”, “@时间戳”: “2016-07-01T10:29:36.160Z”,“消息“:”我的 消息...“,”fields“:{”0“:”{“,”1“:”\ n“,”2“:”“,”3“:”“,”4“ :“\”” ...

我是新来logstash但我喜欢组中的大串的所有字段我该怎么办呢

+0

您可能需要使用的编解码器=>“JSON”在你的UDP告诉它进入的日志是JSON日志。默认是普通的 – pandaadb

+0

@pandaadb好的,谢谢,如果你可以添加它作为答案我会检查它接受otherwayway我会删除问题 – nkint

回答

3
为了

你的投入就知道了。?这是json,你需要添加一个编解码器:

input { 
    udp { 
    port => 5000 
    type => "json" 
    codec => "json" 
    } 
} 

问候,

阿图尔