- We can develop maintainable plugin using sophisticated new plugin API
- We can develop non-buffered/buffered/async output plugin in one file
- Users can switch non-buffered/buffered/async output plugin via configuration
- We can write well-encapsulated code by useful plugin helpers
- We can write maintainable test using real test drivers that we can use easily
- Built-in multi process support
- We can flexibly specify how to divide chunks
- Per tag
- Per time (eg. per day, per hour, etc.)
- Per arbitrary field in records
- We can manage plugin state using storage plugin API
- We need rewriting code because new API does not have backward compatibility
- However, basically we can run plugins that uses old API because Fluentd v0.14 has compatibility layer
- We need full-rewriting test code
- We can learn how to write test by reading Fluentd plugins test. FYI: Fluentd uses test-unit.
- It is impossible to work with both Fluentd v0.12.x and Fluentd v0.14.x, after migrate to new API