Ah, yes, I think it may be a misunderstanding.  This codec has a param, "debug_output", which is a boolean.  Regardless of that setting this codec will format an event that is ideal for output to log.io, which is something like:

    +log|redis|local|DEBUG|Hello World!

However, if debug output is enabled, it basically does something similar to what the rubydebug codec does.  It uses awesome_inspect to create a multi-line/var dump representation of the event.  Well, log.io is not too keen on multi-line events so this codec will call @on_event.call() multiple times, once per line, resulting in something like this:

    +log|redis|local|DEBUG|Hello World!
    +log|debug|redis|DEBUG|>>>> 11:43:22 PM UTC : ...... "message" => "Confluence is ready to serve",
    +log|debug|redis|DEBUG|>>>> 11:43:22 PM UTC : ... "@timestamp" => "2013-11-22T23:43:22.122Z",
    +log|debug|redis|DEBUG|>>>> 11:43:22 PM UTC : ..... "@version" => "1",

Notice that the debug output is sent in addition to the standard output (the first line).  This works out pretty well because log.io has this concept of "streams", so you'll get the typical, expected, output in your "redis" stream, under the "local" node, and some additional stuff will come through to the "debug" stream under the "redis" node.

So, in that way, the codec outputs two separate outputs, the "standard", always on, output.. and the optional "debug" output. The settings allow you to configure the different attributes and behaviors of those output streams separately.

![image](https://f.cloud.github.com/assets/1026490/1605881/77adc600-53fe-11e3-8820-c3fc5634e56d.png)

I think the misunderstanding is my use of the word "output" and its conflict with the output plugin concept, so I apologize.

With all of that said, I'm a complete Ruby newb, and I was expecting to get flamed for some horrible golden rule breakage somewhere... this is my first ever publicly visible Ruby snippet.  

I can think of other approaches, like convert this to an output plugin instead of a codec, or to offer only one output method at a time for simplicity, but this approach was the most convenient for me in my situation, so its what I ended up with.  I'll make whatever modifications you'd like, just let me know.