logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-621) Pattern To Drop First X Package Parts
Date Thu, 21 Apr 2016 18:34:25 GMT

    [ https://issues.apache.org/jira/browse/LOG4J2-621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15252419#comment-15252419
] 

ASF GitHub Bot commented on LOG4J2-621:
---------------------------------------

Github user lkamal commented on the pull request:

    https://github.com/apache/logging-log4j2/pull/28#issuecomment-213056481
  
    Hi @garydgregory 
    
    I am sorry, I did not understood your suggestion correctly. Let me try to elaborate a
bit on the approach I took, so that you could point me in correct direction further. 
    
    Exactly, current implementation supports below.
    ```
    %c{3} 
    input: org.apache.commons.Foo
    output: apache.commons.Foo
    ```
    
    Above is done via the LoggerPatternConverter class which internally uses the NameAbbreviator.getAbbreviator(final
String pattern) to get an instance of a suitable NameAbbreviator (in this case MaxElementAbbreviator).
    
    And %c{-3} is not yet supported.
    
    So I tried to implement this feature by updating the NameAbbreviator.getAbbreviator(final
String pattern) method to return another new instance of NameAbbreviator named DropFirstElementsAbbreviator
which supports negative numbers in the "pattern" parameter.
    
    With that the below is supported.
    ```
    %c{-3} 
    input: org.apache.commons.Foo
    output: Foo
    ```
    
    Could you please provide some thoughts based on this?
    
    Thanks a lot.



> Pattern To Drop First X Package Parts
> -------------------------------------
>
>                 Key: LOG4J2-621
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-621
>             Project: Log4j 2
>          Issue Type: Wish
>          Components: Layouts
>    Affects Versions: 2.0-rc1
>            Reporter: Lee Theobald
>            Priority: Trivial
>         Attachments: LOG4J2-621_01.patch
>
>
> Currently you can have a pattern that will print out the last X parts of you package.
 So if my package was {{uk.co.ltheobald.foo.bar}}, then using {{%logger\{2\}}} will print
{{foo.bar}}.  But when I have a number of different package levels, this becomes less useful
(in my opinion).
> What I'd find more useful is the inverse where I can ditch the first X parts.  Something
like {{%logger\{-3\}}} for example.  That way I'd end up with:
> {{uk.co.ltheobald.Main logging}} as {{Main}}
> {{uk.co.ltheobald.foo.MyClass}} logging as {{foo.MyClass}}
> {{uk.co.ltheobald.foo.bar.MyOtherClass}} logging as {{foo.bar.MyOtherClass}}
> Removing from the start of the logger name allows me to consistently trim off package
names that I know are always the same.  I'll see if I can produce a code example for this
if I get time but I wanted to log it in the meanwhile.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
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