On Sat, Apr 28, 2012 at 10:25 PM, Ralph Goers <[email protected]> wrote: > No. You can have multiple distinct objects or an array since both end up with > multiple logger objects.
OK. So does that mean I can have either one object in the key "logger" or an array? That would make sense. > > Ralph > > On Apr 28, 2012, at 1:08 PM, Christian Grobmeier <[email protected]> wrote: > >> the first example uses an object as "logger" value, >> the second one an array with objects. >> >> I understood it so that only the array option should work? >> >> On Sat, Apr 28, 2012 at 10:05 PM, Ralph Goers >> <[email protected]> wrote: >>> What is the problem? >>> >>> Ralph >>> >>> On Apr 28, 2012, at 1:03 PM, Christian Grobmeier <[email protected]> >>> wrote: >>> >>>> On Sat, Apr 28, 2012 at 4:33 PM, Ralph Goers <[email protected]> >>>> wrote: >>>>> OK - I could swear that I copied the examples straight from unit tests. >>>>> See log4j-routing.json and log4j-routing2.json. >>>> >>>> Actually you did. Something is wrong here... >>>> >>>> log4j-routing.json: >>>> >>>> "loggers": { >>>> "logger": { "name": "EventLogger", "level": "info", >>>> "additivity": "false", "appender-ref": { "ref": "Routing" }}, >>>> "root": { "level": "error", "appender-ref": { "ref": "STDOUT" }} >>>> } >>>> >>>> log4j-routing2.json: >>>> >>>> "loggers": { >>>> "logger": [ >>>> { "name": "EventLogger", "level": "info", "additivity": >>>> "false", "appender-ref": { "ref": "Routing" }}, >>>> { "name": "com.foo.bar", "level": "error", "additivity": >>>> "false", "appender-ref": { "ref": "STDOUT" }} >>>> ], >>>> "root": { "level": "error", "appender-ref": { "ref": "STDOUT" }} >>>> } >>>> >>>> Same case in the appenders section. >>>> Probably there is a problem in the unit test too >>>> Cheers >>>> >>>>> >>>> >>>>> Ralph >>>>> >>>>> On Apr 28, 2012, at 7:15 AM, Christian Grobmeier wrote: >>>>> >>>>>> hey ralph, >>>>>> >>>>>> its a pleasure. I like that code and it is impressive that you wrote i >>>>>> mostly alone >>>>>> >>>>>> I have found an error on this page. There is a sample like that: >>>>>> >>>>>> "loggers": { >>>>>> "logger": { "name": "EventLogger", "level": "info", >>>>>> "additivity": "false", "appender-ref": { "ref": "Routing" }}, >>>>>> "root": { "level": "error", "appender-ref": { "ref": "STDOUT" }} >>>>>> } >>>>>> >>>>>> On the same page, above the example you mentioned below. >>>>>> >>>>>> When i have time, I will try this further and correct it >>>>>> Probably tomorrow or this night. >>>>>> >>>>>> Cheers >>>>>> >>>>>> On Sat, Apr 28, 2012 at 4:00 PM, Ralph Goers >>>>>> <[email protected]> wrote: >>>>>>> Wow - it is really great to have you digging into this. >>>>>>> >>>>>>> Did you look >>>>>>> at http://people.apache.org/~rgoers/log4j2/manual/configuration.html? >>>>>>> It has >>>>>>> two sample json configuration files and talks about what you need to do >>>>>>> to >>>>>>> use arrays. In particular, the loggers section looks like >>>>>>> >>>>>>> "loggers": { >>>>>>> "logger": [ >>>>>>> { "name": "EventLogger", "level": "info", "additivity": "false", >>>>>>> "appender-ref": { "ref": "Routing" }}, >>>>>>> { "name": "com.foo.bar", "level": "error", "additivity": "false", >>>>>>> "appender-ref": { "ref": "Console" }} >>>>>>> ], >>>>>>> "root": { "level": "error", "appender-ref": { "ref": "STDOUT" }} >>>>>>> } >>>>>>> >>>>>>> Ralph >>>>>>> >>>>>>> >>>>>>> On Apr 28, 2012, at 6:09 AM, Christian Grobmeier wrote: >>>>>>> >>>>>>> Hei folks, >>>>>>> >>>>>>> i created a simple json configuration. I could not load it for unknown >>>>>>> reasons, but I want to address something else with this message. >>>>>>> >>>>>>> Given this: >>>>>>> >>>>>>> { >>>>>>> "configuration": { >>>>>>> "appenders": { >>>>>>> "Console": { >>>>>>> "name": "Console", >>>>>>> "PatternLayout": { >>>>>>> "pattern": "%m%n" >>>>>>> } >>>>>>> } >>>>>>> }, >>>>>>> "loggers": { >>>>>>> "logger": { >>>>>>> "name": "Sub", >>>>>>> "level": "TRACE", >>>>>>> "appender-ref": { >>>>>>> "ref": "Console" >>>>>>> } >>>>>>> }, >>>>>>> "root": { >>>>>>> "level": "error", >>>>>>> "appender-ref": { >>>>>>> "ref": "Console" >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> Why don't we use JSON arrays? For example in the "loggers" Objekt we >>>>>>> define a "logger" and "root". It seems to me that I would need another >>>>>>> "logger" pretty soon. It is more or less a type of what I want. But >>>>>>> having the same keys in one single object feels strange. It is not >>>>>>> permitted form the json format (to my knowledge), but what I somebody >>>>>>> wants to create a gui to create these files? In case of for example JS >>>>>>> he might have a problem with duplicated keys. >>>>>>> >>>>>>> We could rewrite it to: >>>>>>> >>>>>>> "loggers": [ >>>>>>> { >>>>>>> "type" : "logger", >>>>>>> "name": "Sub", >>>>>>> "level": "TRACE", >>>>>>> "appender-ref": { "ref": "Console" } >>>>>>> }, >>>>>>> { >>>>>>> "type" : "root", >>>>>>> "name": "App", >>>>>>> "level": "TRACE", >>>>>>> "appender-ref": { "ref": "Console" } >>>>>>> } >>>>>>> ], >>>>>>> >>>>>>> >>>>>>> This feels more intuitive to me and might avoid problems when others >>>>>>> want ot use that file. At the moment I am not educated on the impacts >>>>>>> of this change yet. I would say the same should happen with appenders >>>>>>> or any other key, which holds a list of objects. >>>>>>> >>>>>>> Cheers >>>>>>> Christian >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: [email protected] >>>>>>> For additional commands, e-mail: [email protected] >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> http://www.grobmeier.de >>>>>> https://www.timeandbill.de >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: [email protected] >>>>>> For additional commands, e-mail: [email protected] >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>>> >>>> >>>> >>>> >>>> -- >>>> http://www.grobmeier.de >>>> https://www.timeandbill.de >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> >> >> -- >> http://www.grobmeier.de >> https://www.timeandbill.de >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > -- http://www.grobmeier.de https://www.timeandbill.de --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
