logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ralph Goers <rgo...@apache.org>
Subject Re: [log4j2] Format of json config
Date Sat, 28 Apr 2012 20:31:07 GMT
Are you getting confused as to when the type element is required?  If so, reread the section
on the configuration page.

Ralph

On Apr 28, 2012, at 1:08 PM, Christian Grobmeier <grobmeier@gmail.com> 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
> <ralph.goers@dslextreme.com> wrote:
>> What is the problem?
>> 
>> Ralph
>> 
>> On Apr 28, 2012, at 1:03 PM, Christian Grobmeier <grobmeier@gmail.com> wrote:
>> 
>>> On Sat, Apr 28, 2012 at 4:33 PM, Ralph Goers <ralph.goers@dslextreme.com>
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 <ralph.goers@dslextreme.com>
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: log4j-dev-unsubscribe@logging.apache.org
>>>>>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> http://www.grobmeier.de
>>>>> https://www.timeandbill.de
>>>>> 
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
>>>>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
>>>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> http://www.grobmeier.de
>>> https://www.timeandbill.de
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
>>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
>> For additional commands, e-mail: log4j-dev-help@logging.apache.org
>> 
> 
> 
> 
> -- 
> http://www.grobmeier.de
> https://www.timeandbill.de
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
> For additional commands, e-mail: log4j-dev-help@logging.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message