我正在尝试分析日志流并希望拆分日志语句,当我在下面创建流时,我收到以下错误。
尝试1:
xd:>stream create words --definition "http --port=9000 | splitter --expression=payload.split('\"') | log"
Command failed org.springframework.xd.rest.client.impl.SpringXDException: Could not find module with name 'splitter' and type 'sink'
尝试:2
xd:>stream create words --definition "http --port=9000 | splitter --expression=payload.split('"') | log"
stream create words --definition "http --port=9000 | splitter --expression=payload.split('"') | log"
^
不能有不平衡的引号
我是否可以通过创建客户处理器来实现这一目标?
答案 0 :(得分:0)
你可以试试这个:
xd:> stream create words --definition“http --port = 9000 | splitter --expression = payload.split('\ u0022')| log”--deploy 创建并部署了新的流“单词”
请注意双引号的unicode用法。
xd:> http post --data“http \”log“
答案 1 :(得分:0)
这对我有用:
module compose my_splitter --definition 'splitter --expression=payload.split(\'"\')'
stream create words --definition "tcp --port=9000 --decoder=RAW --outputType=text/plain | my_splitter | log" --deploy
然后我正在使用
进行测试echo 'foo"faa' | netcat 192.168.59.3 9000
我用tcp源代替了http源,这样我就可以用netcat进行测试了。但这也适用于http。
xd-singlenode日志的输出:
2015-05-21 22:27:22,463 1.1.0.RELEASE INFO pool-11-thread-2 sink.words - foo
2015-05-21 22:27:22,464 1.1.0.RELEASE INFO pool-11-thread-2 sink.words - faa
希望这有帮助