fluent/fluentd — pull request #455 by repeatedly (2014-10-15 21:11:59+00:00)
Title: Relax '@' handling in the plugin configuration for backward compatibility

Related to https://github.com/fluent/fluentd/pull/451.
This is ad-hoc but reasonable change for now.

Current implementation can't handle copy or forest like configuration.
Handling this case is hard because it needs the change of configuration mechanizm.
So it is future work. I will implement it after https://github.com/fluent/fluentd/pull/451 discussion finished.

- nested

```sh
2014-10-16 05:46:06 +0900 [info]: starting fluentd-0.12.0.pre.1
2014-10-16 05:46:06 +0900 [info]: reading config file path="at_test.conf"
2014-10-16 05:46:07 +0900 [warn]: '@' is the system reserved prefix. It works in the nested configuration for now but it will be rejected: @timestamp
2014-10-16 05:46:07 +0900 [info]: gem 'fluent-plugin-flowcounter-simple' version '0.0.3'
2014-10-16 05:46:07 +0900 [info]: gem 'fluent-plugin-record-reformer' version '0.3.0'
2014-10-16 05:46:07 +0900 [info]: gem 'fluent-plugin-td' version '0.10.21'
2014-10-16 05:46:07 +0900 [info]: gem 'fluentd' version '0.10.53'
2014-10-16 05:46:07 +0900 [info]: using configuration file:

type record_reformer
tag foo

@timestamp ${time}

2014-10-16 05:46:07 +0900 [info]: adding match pattern="**" type="record_reformer"
^C2014-10-16 05:46:09 +0900 [info]: shutting down fluentd
2014-10-16 05:46:09 +0900 [info]: process finished code=0
```

- top-level

```sh
/Users/repeatedly/dev/fluentd/fluentd/lib/fluent/config/basic_parser.rb:87:in `parse_error!': '@' is the system reserved prefix. Don't use '@' prefix parameter in the configuration: @foo at at_test.conf line 7,7 (Fluent::ConfigParseError)
6:
7: @foo bar

-------^
8:
from /Users/repeatedly/dev/fluentd/fluentd/lib/fluent/config/v1_parser.rb:120:in `parse_element'
from /Users/repeatedly/dev/fluentd/fluentd/lib/fluent/config/v1_parser.rb:92:in `parse_element'
from /Users/repeatedly/dev/fluentd/fluentd/lib/fluent/config/v1_parser.rb:41:in `parse!'
from /Users/repeatedly/dev/fluentd/fluentd/lib/fluent/config/v1_parser.rb:31:in `parse'
from /Users/repeatedly/dev/fluentd/fluentd/lib/fluent/config.rb:29:in `parse'
from /Users/repeatedly/dev/fluentd/fluentd/lib/fluent/supervisor.rb:367:in `apply_system_config'
from /Users/repeatedly/dev/fluentd/fluentd/lib/fluent/supervisor.rb:106:in `initialize'
from /Users/repeatedly/dev/fluentd/fluentd/lib/fluent/command/fluentd.rb:163:in `new'
from /Users/repeatedly/dev/fluentd/fluentd/lib/fluent/command/fluentd.rb:163:in `'
from /Users/repeatedly/.rbenv/versions/2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
from /Users/repeatedly/.rbenv/versions/2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
from /Users/repeatedly/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/fluentd-0.10.53/bin/fluentd:6:in `'
from /Users/repeatedly/.rbenv/versions/2.1.3/bin/fluentd:23:in `load'
from /Users/repeatedly/.rbenv/versions/2.1.3/bin/fluentd:23:in `

'
```