I uploaded a patch for the issue (to allow inline default value setting in 
general after the variable name and the delimiter):
- https://issues.apache.org/jira/browse/LOG4J2-419

Please take a review.

Cheers,

Woonsan





> On Wednesday, October 9, 2013 4:19 PM, Ralph Goers 
> <[email protected]> wrote:
> > Please remember that mine is just one opinion, but I am fine with that.  I 
> > guess 
> if no default value is provided this way then it can still fall back to 
> looking 
> in the properties map.
> 
> Ralph
> 
> 
> On Oct 9, 2013, at 12:53 PM, Woonsan Ko <[email protected]> wrote:
> 
>>  Hi Ralph,
>> 
>> 
>>  I have something related to this improvement idea.
>>  I have thought it might be a bit more useful and flexible to allow default 
> value in the variable expression itself.
>>  For example, ${var1:-defvalue1}, ${ctx:request_id:-defvalue2}, 
> etc.
>>  This generic feature has been included in StrSubstitutor of commons-lang3 
> with the following issue:
>>  - https://issues.apache.org/jira/browse/LANG-893
>> 
>>  I understand Oliver's patch should work more efficiently for map 
> pattern converters, but the goodness of the feature with LANG-893 is we can 
> use 
> it more widely whenever used in look ups.
>> 
>>  I know StrSubstitutor in log4j2 added more operations to deal with LogEvent 
> argument, so I can create a patch to include the feature of LANG-893 if it is 
> useful for others.
>>  Also, Oliver's patch won't conflict with this patch.
>> 
>>  What do you think?
>> 
>>  Kind regards,
>> 
>>  Woonsan
>> 
>> 
>>>  On Tuesday, October 1, 2013 9:21 AM, Ralph Goers 
> <[email protected]> wrote:
>>>>  Patches are always welcome!
>>> 
>>>  Ralph
>>> 
>>>  On Oct 1, 2013, at 1:13 AM, Oliver Flege <[email protected]> wrote:
>>> 
>>>>>  $${mdc:request_id} in a pattern should cause the 
> request_id to be 
>>>  evaluated on every event.
>>>> 
>>>>  thanks a lot, $${ctx:request_id} seems to do the trick
>>>> 
>>>>  however, the computation of the default value is quite complex as 
> it always 
>>>  involves
>>>>  a variable substitution, and I cannot use conversion specifiers 
> with $$ as 
>>>  I can with %X
>>>> 
>>>>  Would you consider accepting a patch that adds support for 
> slf4j-like 
>>>  default values
>>>>  in %X{key} and %K{key}, s.th. like 
> %X{key:-defaultValue} ?
>>>> 
>>>>  Regards,
>>>>  Oliver
>>>> 
>>>> 
>>>> 
>>>>> 
>>>>>>  On Sep 30, 2013, at 8:04 AM, Oliver Flege 
> <[email protected]> 
>>>  wrote:
>>>>>> 
>>>>>>  ok, this works for ${...} expressions in the 
> configuration, 
>>>  but I don't see how it would
>>>>>>  apply to pattern evaluation. To simplify and rephrase my 
> original 
>>>  question:
>>>>>> 
>>>>>>  Given a pattern layout with a pattern like:  
> %X{REQUEST_ID}
>>>>>> 
>>>>>>  is it possible to define a default value that will be 
> printed
>>>>>>  if the thread never executed 
>>>  ThreadContext.put("REQUEST_ID", "XYZ")?
>>>>>> 
>>>>>>  I tried ${mdc:REQUEST_ID} + a Property REQUEST_ID, but 
> that
>>>>>>  will only be evaluated when the configuration is parsed.
>>>>>> 
>>>>>>  Oliver
>>>>>> 
>>>>>>>  Yes, it supports default values. Specify them as 
> properties at 
>>>  the beginning of your configuration. Then when you specify something 
> like 
>>>  ${sys:foo} if foo is not defined as a system property the default 
> value 
>>>  will be used,
>>>>>>> 
>>>>>>>  Ralph
>>>>>>> 
>>>>>>>>  On Sep 30, 2013, at 3:30 AM, Oliver Flege 
>>>  <[email protected]> wrote:
>>>>>>>> 
>>>>>>>>  Hi,
>>>>>>>> 
>>>>>>>>  I am considering to switch from slf4j/logback to 
> log4j2;
>>>>>>>> 
>>>>>>>>  in slf4j/logback, I can specify a default value for 
> a 
>>>  missing mdc entry
>>>>>>>>  like this:
>>>>>>>> 
>>>>>>>>  <pattern>%d{HH:mm:ss} %X{FOO:--} 
> %c{0} 
>>>  - %m%n</pattern>
>>>>>>>> 
>>>>>>>>  which would print "-" if 
> mdc.get("FOO") 
>>>  is null (the ":-" separates
>>>>>>>>  the key and the default value).
>>>>>>>> 
>>>>>>>>  Having a defined number of tokens/fields at the 
> beginning 
>>>  of the log message
>>>>>>>>  makes it easier to process it with awk/cut etc.
>>>>>>>> 
>>>>>>>> 
>>>>>>>>  Does log4j support default values? - I could not 
> find any 
>>>  hint in the documentation
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>  Regards,
>>>>>>>>  Oliver
>>>>>>>> 
>>>>>>>> 
>>>  ---------------------------------------------------------------------
>>>>>>>>  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]
>>>>>> 
>>>>>> 
>>>>>>  -- 
>>>>>>  Oliver Flege
>>>>>>  Senior Software Engineer | vwd group
>>>>>> 
>>>>>>  vwd Vereinigte Wirtschaftsdienste AG
>>>>>>  Stiftsplatz 6/7 | 67655 Kaiserslautern
>>>>>>  Telefon: +49 631 3649-0 | Telefax: +49 631 3649-109
>>>>>>  [email protected] | www.vwd.com
>>>>>> 
> ______________________________________________________________
>>>>>> 
>>>>>>  vwd Vereinigte Wirtschaftsdienste AG
>>>>>>  Sitz der Gesellschaft: Tilsiter Straße 1 | 60487 Frankfurt 
> am Main
>>>>>>  Handelsregister: AG Frankfurt am Main HRB 81011
>>>>>>  Vorstand: Dr. Ralf Kauther
>>>>>>  Vorsitzender des Aufsichtsrates: Dr. Thorsten Dippel
> 
>>> 
>>>>>> 
> ____________________________________________________________
>>>>>> 
>>>>>> 
>>>  ---------------------------------------------------------------------
>>>>>>  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]
>>>> 
>>>> 
>>>>  -- 
>>>>  Oliver Flege
>>>>  Senior Software Engineer | vwd group
>>>> 
>>>>  vwd Vereinigte Wirtschaftsdienste AG
>>>>  Stiftsplatz 6/7 | 67655 Kaiserslautern
>>>>  Telefon: +49 631 3649-0 | Telefax: +49 631 3649-109
>>>>  [email protected] | www.vwd.com
>>>>  ______________________________________________________________
>>>> 
>>>>  vwd Vereinigte Wirtschaftsdienste AG
>>>>  Sitz der Gesellschaft: Tilsiter Straße 1 | 60487 Frankfurt am Main
>>>>  Handelsregister: AG Frankfurt am Main HRB 81011
>>>>  Vorstand: Dr. Ralf Kauther
>>>>  Vorsitzender des Aufsichtsrates: Dr. Thorsten Dippel
>>>>  ____________________________________________________________
>>>> 
>>>> 
> ---------------------------------------------------------------------
>>>>  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]
>>> 
>> 
>>  ---------------------------------------------------------------------
>>  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]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to