mruby-fluent-logger (a.k.a. fluent-logger-mruby) is a structured logger class for Fluentd.
- mrubyからイベントログ収集ツールFluentdを扱う"mruby-fluent-logger"を公開しました
http://y-ken.hatenablog.com/entry/fluent-logger-mruby-has-released
Let's add these gem line into build_config.rb
and execute rake
to build mruby.
Another way to use this mrbgems, you can generate a build configuration with mgem.
MRuby::Build.new do |conf|
...snip...
conf.gem :git => 'https://github.com/iij/mruby-io.git'
conf.gem :git => 'https://github.com/iij/mruby-socket.git'
conf.gem :git => 'https://github.com/iij/mruby-pack.git'
conf.gem :git => 'https://github.com/suzukaze/mruby-msgpack.git'
conf.gem :git => 'https://github.com/mattn/mruby-http.git'
conf.gem :git => 'https://github.com/y-ken/mruby-simplehttp-socket.git'
conf.gem :git => 'https://github.com/matsumoto-r/mruby-httprequest.git'
conf.gem :git => 'https://github.com/y-ken/fluent-logger-mruby.git'
...snip...
end
install required package.
MRuby::Build.new do |conf|
...snip...
conf.gem :git => 'https://github.com/iij/mruby-pack.git'
conf.gem :git => 'https://github.com/suzukaze/mruby-msgpack.git'
conf.gem :git => 'https://github.com/mattn/mruby-uv.git'
conf.gem :git => 'https://github.com/mattn/mruby-http.git'
conf.gem :git => 'https://github.com/matsumoto-r/mruby-simplehttp.git'
conf.gem :git => 'https://github.com/matsumoto-r/mruby-httprequest.git'
conf.gem :git => 'https://github.com/y-ken/fluent-logger-mruby.git'
...snip...
end
- in_http (http input plugin).
- in_forward (forward Input Plugin)(Required
protocol
argument.).
log = Fluent::Logger.new()
log.post('myapp.access', {"agent"=>"foo"})
# output: myapp.access {"agent":"foo"}
log = Fluent::Logger.new(nil, :host=>'127.0.0.1', :port=>8888)
log.post('myapp.access', {"agent"=>"foo"})
# output: myapp.access {"agent":"foo"}
with protocol
argument(:protocol => http
).
log = Fluent::Logger.new(nil, :protocol=>'http', :host=>'127.0.0.1', :port=>'8888')
log.post('test.hoge', {"message"=>"foo"})
# output: test.hoge: {"message":"foo"}
It's welcome pull requesting because it doesn't supported yet.
log = Fluent::Logger.new('myapp', :host=>'127.0.0.1', :port=>8888)
log.post('access', {"agent"=>"foo"})
# output: myapp.access {"agent":"foo"}
Required protocol
argument.
log = Fluent::Logger.new(nil, :protocol=> 'tcp', :host=>'127.0.0.1', :port=>'24224')
log.post('test.hoge', {"message"=>"foo"})
# output: test.hoge: {"message":"foo"}
with Tag prefix.
log = Fluent::Logger.new("mruby.tcp", :protocol=>'tcp', :host=>'127.0.0.1', :port=>'24224')
log.post('test.hoge', {"message"=>"foo"})
# output: mruby.tcp.test.hoge: {"message":"foo"}
Pull requests are very welcome!! I'm awaiting pull requests like below.
- support fluentd forward input (port 24224)
Copyright © 2013- Kentaro Yoshida (@yoshi_ken)