How about this hack for PatterLayout:

    @Override
    public byte[] getHeader() {
        byte[] myHeader = super.getHeader();
        final Charset cs = getCharset();
        String strHeader = "# Conversion pattern: " +
this.conversionPattern;
        if (myHeader != null) {
            strHeader = config.getStrSubstitutor().replace(new
String(myHeader, cs)) + Constants.LINE_SEPARATOR + strHeader;
        }
        return strHeader.getBytes(cs);
    }

?

Gary


On Tue, May 20, 2014 at 3:34 PM, Gary Gregory <garydgreg...@gmail.com>wrote:

> On Tue, May 20, 2014 at 2:46 PM, Ralph Goers 
> <ralph.go...@dslextreme.com>wrote:
>
>> You could implement a lookup but both the syntax of how it would be
>> specified and how it would work would be odd.  Or you could implement a
>> PatternConverter while would allow you do invoke PatternParser.parse, but
>> that would also be awkward as they typically think they are working with a
>> LogEvent.
>>
>
> So, two odd possible solutions, not a great smell.
>
> How do you (or anyone else ;-) see this done well?
>
> Gary
>
>
>> Note that what you have below - %pattern - doesn’t match with how Lookups
>> work.
>>
>
> Check, that was just a placeholder string.
>
> Gary
>
>>
>> Ralph
>>
>> On May 20, 2014, at 10:48 AM, Gary Gregory <garydgreg...@gmail.com>
>> wrote:
>>
>> I was thinking of experimenting with this in PatternLayout:
>>
>>     @Override
>>     public byte[] getHeader() {
>>         byte [] header = super.getHeader();
>>         if (header != null) {
>>             return config.getStrSubstitutor().replace(new String(header,
>> getCharset())).getBytes(getCharset());
>>         }
>>         return header;
>>     }
>>
>> Why not support this with a marker like %pattern (of whatever). But how
>> can we tell the config's StrSubstitor about this layout's pattern string?
>>
>> In the ctor we could do:
>>
>> this.config = config;
>> this.config.getStrSubstitutor().getStrLookup().put("pattern", pattern);
>>
>> But StrLookup does not support put(String, String) of course...
>>
>> What would be a supported way to do this or do we need to tweak things a
>> bit?
>>
>> Gary
>>
>>
>>
>>
>>
>>
>> On Tue, May 20, 2014 at 9:27 AM, Gary Gregory <garydgreg...@gmail.com>wrote:
>>
>>> For best usability I am wondering if this should be an option, but if it
>>> is it should be on by default. Thoughts?
>>>
>>> Gary
>>>
>>>
>>> On Mon, May 19, 2014 at 9:42 PM, Gary Gregory <garydgreg...@gmail.com>wrote:
>>>
>>>> On Mon, May 19, 2014 at 9:37 PM, Ralph Goers <
>>>> ralph.go...@dslextreme.com> wrote:
>>>>
>>>>> It sounds like you want that in the header of the file?  That sounds
>>>>> like an extension of what PatternLayout currently does. You would just 
>>>>> want
>>>>> to set the header to include the pattern.  Of course, this doesn’t apply 
>>>>> to
>>>>> Appenders that use some other layout.
>>>>>
>>>>
>>>> Yes in the header. whatever a header means for a text file appender for
>>>> example, maybe it is a "comment" like a comment in a property file: # my
>>>> format.
>>>>
>>>> This only needs to apply to "unstructured" layouts, which are all text
>>>> based layouts, like the File and Console, I think these all share a
>>>> streaming super class/manager. For a database appender and other structured
>>>> layouts (XML, JSON, and so on), this does not make sense.
>>>>
>>>> Gary
>>>>
>>>> Gary
>>>>
>>>>>
>>>>> Ralph
>>>>>
>>>>> On May 19, 2014, at 12:47 PM, Gary Gregory <garydgreg...@gmail.com>
>>>>> wrote:
>>>>>
>>>>> I get logs from users that are files, which is nice.
>>>>>
>>>>> I'd like the log to have a line that shows the conversion pattern used
>>>>> to create the log events.
>>>>>
>>>>> This would let me create a nice color filter in our tools.
>>>>>
>>>>> Yes, I know users could use some kind of structured appender in
>>>>> addition to a log file, but they won't for my convenience...
>>>>>
>>>>> So I wonder if we could have setting for this? Our tools create the
>>>>> config, so we could turn it on no matter what conversion pattern they use.
>>>>>
>>>>> Gary
>>>>>
>>>>> --
>>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>>>> Java Persistence with Hibernate, Second 
>>>>> Edition<http://www.manning.com/bauer3/>
>>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>>> Blog: http://garygregory.wordpress.com
>>>>> Home: http://garygregory.com/
>>>>> Tweet! http://twitter.com/GaryGregory
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>>> Java Persistence with Hibernate, Second 
>>>> Edition<http://www.manning.com/bauer3/>
>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>> Blog: http://garygregory.wordpress.com
>>>> Home: http://garygregory.com/
>>>> Tweet! http://twitter.com/GaryGregory
>>>>
>>>
>>>
>>>
>>> --
>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>> Java Persistence with Hibernate, Second 
>>> Edition<http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>
>>
>>
>> --
>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>> Java Persistence with Hibernate, Second 
>> Edition<http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>>
>>
>
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second 
> Edition<http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to