[logback-user] PatternLayout feature request

Arthur Blake blakesys at yahoo.com
Fri Jul 13 06:05:36 CEST 2007

Yes, I did notice all that you mentioned, but I still could not find any way to print the class name ONLY without the package name.
Thanks. (I want to see only "Bar" not m.s.s., etc.)  I would think this would be a feature that would be worthwhile to have as part of logback.
I guess I'll have to implement it myself then.
thank you!


----- Original Message ----
From: Ceki Gulcu <listid at qos.ch>
To: logback users list <logback-user at qos.ch>
Sent: Thursday, July 12, 2007 3:02:47 PM
Subject: Re: [logback-user] PatternLayout feature request

Hi Arthur,

Logback already offers a similar feature called automatic abbreviation
for logger names and for class names.

For example, the pattern "%logger{10}" will attempt to abbreviate the
logger name to 10 characters, thus the logger name
"mainPackage.sub.sample.Bar" will be printed as "m.s.s.Bar". The table
below from the Layout chapter [1] of the log4j manual lists other

Pattern          Logger name                    Result
%logger       mainPackage.sub.sample.Bar     mainPackage.sub.sample.Bar
%logger{10}   mainPackage.sub.sample.Bar     m.s.s.Bar
%logger{15}     mainPackage.sub.sample.Bar     m.s.sample.Bar
%logger{16}     mainPackage.sub.sample.Bar     m.sub.sample.Bar
%logger{26}     mainPackage.sub.sample.Bar     mainPackage.sub.sample.Bar

Alternatively, logback makes it very easy (even easier than in log4j)
to define your own conversion patterns. See the section called
"Creating a custom conversion specifier" in the Layout chapter of the
logback manual.

I hope this helps,

[1] http://logback.qos.ch/manual/layouts.html

Arthur Blake wrote:
> I'm using Logback on a new project.  I like it a lot so far.  Seems like 
> a leaner, tighter log4j.  Pretty easy to learn quickly because it is so 
> similar to log4j in a lot of ways.
> I'd like to see a feature in the PatternLayout where I can show just the 
> class name of the logger without its package prefix.
> For example, if I have a logger named 
> com.mycompany.myapplication.myarea.Stuff
> I'd like a version of the %logger conversion word that just outputs "Stuff"
> (not "com.mycompany.myapplication.myarea.Stuff" or even "c.m.m.m.Stuff")
> Most of my classes are unique across package names, and I'd like my log 
> output to be more concise in this way.
> I'm not worried about being confused by name collisions because my 
> application is small enough that it's obvious what logger is involved in 
> my log output.
> I've gotten around this so far by naming some of my logs with just the 
> class name without it's package, but I'd rather have a PatternLayout 
> conversion word or specifier to handle this.
> Forgive me if this feature is already in the PatternLayout, but I 
> couldn't find it after looking pretty hard.
> Arthur

Ceki Gülcü
Logback: The reliable, generic, fast and flexible logging framework for Java.
Logback-user mailing list
Logback-user at qos.ch

The fish are biting. 
Get more visitors on your site using Yahoo! Search Marketing.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://qos.ch/pipermail/logback-user/attachments/20070712/20185ae4/attachment.htm 

More information about the Logback-user mailing list