@@ -223,8 +223,8 @@ <h3 class="doAnchor" name="configuringYourOwnLayout">Configuring
223223
224224 < pre > < code > package chapters.layouts;
225225
226- import ch.qos.logback.classic.; spi.ILoggingEvent;
227- import ch.qos.logback.core.; LayoutBase;
226+ import ch.qos.logback.classic.spi.ILoggingEvent;
227+ import ch.qos.logback.core.LayoutBase;
228228
229229public class MySampleLayout2 extends LayoutBase<ILoggingEvent> {
230230
@@ -244,19 +244,19 @@ <h3 class="doAnchor" name="configuringYourOwnLayout">Configuring
244244 < b > if (prefix != null) {
245245 sbuf.append(prefix + ": ");
246246 }</ b >
247- sbuf.append(event.; getTimeStamp() - event.getLoggerContextVO(; ).getBirthTime(; ));
247+ sbuf.append(event.getTimeStamp() - event.getLoggerContextVO().getBirthTime());
248248 sbuf.append(" ");
249- sbuf.append(event.; getLevel());
249+ sbuf.append(event.getLevel());
250250 < b > if (printThreadName) {
251251 sbuf.append(" [");
252- sbuf.append(event.; getThreadName());
252+ sbuf.append(event.getThreadName());
253253 sbuf.append("] ");
254254 } else {
255255 sbuf.append(" ");
256256 }</ b >
257- sbuf.append(event.; getLoggerName());
257+ sbuf.append(event.getLoggerName());
258258 sbuf.append(" - ");
259- sbuf.append(event.; getFormattedMessage(; ));
259+ sbuf.append(event.getFormattedMessage());
260260 sbuf.append(LINE_SEP);
261261 return sbuf.toString();
262262 }
@@ -357,31 +357,31 @@ <h2 class="doAnchor" name="ClassicPatternLayout">PatternLayout</h2>
357357
358358import org.slf4j.LoggerFactory;
359359
360- import ch.qos.logback.classic.; Logger;
361- import ch.qos.logback.classic.; LoggerContext;
362- import ch.qos.logback.classic.; encoder.PatternLayoutEncoder;
363- import ch.qos.logback.classic.; spi.ILoggingEvent;
364- import ch.qos.logback.core.; ConsoleAppender;
360+ import ch.qos.logback.classic.Logger;
361+ import ch.qos.logback.classic.LoggerContext;
362+ import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
363+ import ch.qos.logback.classic.spi.ILoggingEvent;
364+ import ch.qos.logback.core.ConsoleAppender;
365365
366366public class PatternSample {
367367
368368 static public void main(String[] args) throws Exception {
369- Logger rootLogger = (Logger)LoggerFactory.; getLogger(Logger.; ROOT_LOGGER_NAME);
370- LoggerContext loggerContext = rootLogger.getLoggerContext(; );
369+ Logger rootLogger = (Logger)LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
370+ LoggerContext loggerContext = rootLogger.getLoggerContext();
371371 // we are not interested in auto-configuration
372372 loggerContext.reset();
373373
374374 < b > PatternLayoutEncoder encoder = new PatternLayoutEncoder();</ b >
375- < b > encoder.setContext(; loggerContext);</ b >
376- < b > encoder.setPattern(; "%-5level [%thread]: %message%n");</ b >
375+ < b > encoder.setContext(loggerContext);</ b >
376+ < b > encoder.setPattern("%-5level [%thread]: %message%n");</ b >
377377 < b > encoder.start();</ b >
378378
379379 ConsoleAppender<ILoggingEvent> appender = new ConsoleAppender<ILoggingEvent> ();
380- appender.setContext(; loggerContext);
381- appender.setEncoder(; encoder);
380+ appender.setContext(loggerContext);
381+ appender.setEncoder(encoder);
382382 appender.start();
383383
384- rootLogger.addAppender(; appender);
384+ rootLogger.addAppender(appender);
385385
386386 rootLogger.debug("Message 1");
387387 rootLogger.warn("Message 2");
@@ -702,15 +702,15 @@ <h2 class="doAnchor" name="ClassicPatternLayout">PatternLayout</h2>
702702 following excerpt:</ p >
703703
704704< pre class ="source white_bg "> 0 [main] DEBUG - logging statement
705- Caller+0 at mainPackage.sub.; sample.Bar.sampleMethodName(; Bar.java:22)
706- Caller+1 at mainPackage.sub.; sample.Bar.createLoggingRequest(; Bar.java:17)</ pre >
705+ Caller+0 at mainPackage.sub.sample.Bar.sampleMethodName(Bar.java:22)
706+ Caller+1 at mainPackage.sub.sample.Bar.createLoggingRequest(Bar.java:17)</ pre >
707707
708708 < p > And < b > %caller{3}</ b > would display this other excerpt:</ p >
709709
710710< pre class ="source white_bg "> 16 [main] DEBUG - logging statement
711- Caller+0 at mainPackage.sub.; sample.Bar.sampleMethodName(; Bar.java:22)
712- Caller+1 at mainPackage.sub.; sample.Bar.createLoggingRequest(; Bar.java:17)
713- Caller+2 at mainPackage.ConfigTester.; main(ConfigTester.; java:38)</ pre >
711+ Caller+0 at mainPackage.sub.sample.Bar.sampleMethodName(Bar.java:22)
712+ Caller+1 at mainPackage.sub.sample.Bar.createLoggingRequest(Bar.java:17)
713+ Caller+2 at mainPackage.ConfigTester.main(ConfigTester.java:38)</ pre >
714714
715715 < p > A range specifier can be added to the < em > caller</ em > conversion specifier's
716716 options to configure the depth range of the information to be displayed.
@@ -719,7 +719,7 @@ <h2 class="doAnchor" name="ClassicPatternLayout">PatternLayout</h2>
719719 < p > For example, < b > %caller{1..2}</ b > would display the following excerpt:</ p >
720720
721721< pre class ="source white_bg "> 0 [main] DEBUG - logging statement
722- Caller+0 at mainPackage.sub.; sample.Bar.createLoggingRequest(; Bar.java:17)</ pre >
722+ Caller+0 at mainPackage.sub.sample.Bar.createLoggingRequest(Bar.java:17)</ pre >
723723
724724 < p > This conversion word can also use evaluators to test
725725 logging events against a given criterion before computing
@@ -1003,14 +1003,14 @@ <h2 class="doAnchor" name="ClassicPatternLayout">PatternLayout</h2>
10031003 < p > Here is an example:</ p >
10041004
10051005 < p class ="source small "> java.lang.NullPointerException
1006- at com.xyz.Wombat(Wombat.; java:57) < b > < span class ="red "> ~</ span > [wombat-1.3.jar:1.3]</ b >
1007- at com.xyz.Wombat(Wombat.; java:76) ~[wombat-1.3.jar:1.3]
1008- at sun.reflect.NativeMethodAccessorImpl.; invoke0(Native Method) ~[na:1.5.0_06]
1009- at sun.reflect.NativeMethodAccessorImpl.; invoke(NativeMethodAccessorImpl.; java:39) ~[na:1.5.0_06]
1010- at sun.reflect.DelegatingMethodAccessorImpl.; invoke(DelegatingMethodAccessorImpl.; java:25) ~[na:1.5.0_06]
1011- at java.lang.reflect.; Method.invoke(Method.; java:585) ~[na:1.5.0_06]
1012- at org.junit.internal.; runners.TestMethod.; invoke(TestMethod.; java:59) [junit-4.4.jar:na]
1013- at org.junit.internal.; runners.MethodRoadie.; runTestMethod(MethodRoadie.; java:98) [junit-4.4.jar:na]
1006+ at com.xyz.Wombat(Wombat.java:57) < b > < span class ="red "> ~</ span > [wombat-1.3.jar:1.3]</ b >
1007+ at com.xyz.Wombat(Wombat.java:76) ~[wombat-1.3.jar:1.3]
1008+ at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.5.0_06]
1009+ at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.5.0_06]
1010+ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.5.0_06]
1011+ at java.lang.reflect.Method.invoke(Method.java:585) ~[na:1.5.0_06]
1012+ at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59) [junit-4.4.jar:na]
1013+ at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98) [junit-4.4.jar:na]
10141014 ...etc </ p >
10151015
10161016 < p > Logback goes to great lengths to ensure that the class
@@ -1177,12 +1177,12 @@ <h2 class="doAnchor" name="ClassicPatternLayout">PatternLayout</h2>
11771177 </ p >
11781178
11791179 < pre class ="small "> java.lang.NullPointerException
1180- at com.xyz.Wombat(Wombat.; java:57) ~[wombat-1.3.jar:1.3]
1181- at com.xyz.Wombat(Wombat.; java:76) ~[wombat-1.3.jar:1.3]
1182- Wrapped by: org.springframework.; BeanCreationException: Error creating bean with name 'wombat':
1183- at org.springframework.; AbstractBeanFactory.; getBean(AbstractBeanFactory.; java:248) [spring-2.0.jar:2.0]
1184- at org.springframework.; AbstractBeanFactory.; getBean(AbstractBeanFactory.; java:170) [spring-2.0.jar:2.0]
1185- at org.apache.catalina.; StandardContext.; listenerStart(StandardContext.; java:3934) [tomcat-6.0.26.jar:6.0.26]
1180+ at com.xyz.Wombat(Wombat.java:57) ~[wombat-1.3.jar:1.3]
1181+ at com.xyz.Wombat(Wombat.java:76) ~[wombat-1.3.jar:1.3]
1182+ Wrapped by: org.springframework.BeanCreationException: Error creating bean with name 'wombat':
1183+ at org.springframework.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) [spring-2.0.jar:2.0]
1184+ at org.springframework.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170) [spring-2.0.jar:2.0]
1185+ at org.apache.catalina.StandardContext.listenerStart(StandardContext.java:3934) [tomcat-6.0.26.jar:6.0.26]
11861186</ pre >
11871187
11881188 < p > The %rootException converter admits the same optional
@@ -1449,23 +1449,23 @@ <h2 class="doAnchor" name="grouping">Grouping with
14491449
14501450 < p > Assuming without the grouping the output was</ p >
14511451
1452- < p class ="source "> 13:09:30 [main] DEBUG c.q.logback.demo.; ContextListener - Classload hashcode is 13995234
1453- 13:09:30 [main] DEBUG c.q.logback.demo.; ContextListener - Initializing for ServletContext
1454- 13:09:30 [main] DEBUG c.q.logback.demo.; ContextListener - Trying platform Mbean server
1455- 13:09:30 [pool-1-thread-1] INFO ch.qos.logback.demo.; LoggingTask - Howdydy-diddly-ho - 0
1456- 13:09:38 [btpool0-7] INFO c.q.l.demo.lottery.; LotteryAction - Number: 50 was tried.
1452+ < p class ="source "> 13:09:30 [main] DEBUG c.q.logback.demo.ContextListener - Classload hashcode is 13995234
1453+ 13:09:30 [main] DEBUG c.q.logback.demo.ContextListener - Initializing for ServletContext
1454+ 13:09:30 [main] DEBUG c.q.logback.demo.ContextListener - Trying platform Mbean server
1455+ 13:09:30 [pool-1-thread-1] INFO ch.qos.logback.demo.LoggingTask - Howdydy-diddly-ho - 0
1456+ 13:09:38 [btpool0-7] INFO c.q.l.demo.lottery.LotteryAction - Number: 50 was tried.
1457145713:09:40 [btpool0-7] INFO c.q.l.d.prime.NumberCruncherImpl - Beginning to factor.
1458145813:09:40 [btpool0-7] DEBUG c.q.l.d.prime.NumberCruncherImpl - Trying 2 as a factor.
1459145913:09:40 [btpool0-7] INFO c.q.l.d.prime.NumberCruncherImpl - Found factor 2
14601460 </ p >
14611461
14621462 < p > with the "%-30()" grouping it would be</ p >
14631463
1464- < p class ="source "> 13:09:30 [main] DEBUG c.q.logback.demo.; ContextListener - Classload hashcode is 13995234
1465- 13:09:30 [main] DEBUG c.q.logback.demo.; ContextListener - Initializing for ServletContext
1466- 13:09:30 [main] DEBUG c.q.logback.demo.; ContextListener - Trying platform Mbean server
1467- 13:09:30 [pool-1-thread-1] INFO ch.qos.logback.demo.; LoggingTask - Howdydy-diddly-ho - 0
1468- 13:09:38 [btpool0-7] INFO c.q.l.demo.lottery.; LotteryAction - Number: 50 was tried.
1464+ < p class ="source "> 13:09:30 [main] DEBUG c.q.logback.demo.ContextListener - Classload hashcode is 13995234
1465+ 13:09:30 [main] DEBUG c.q.logback.demo.ContextListener - Initializing for ServletContext
1466+ 13:09:30 [main] DEBUG c.q.logback.demo.ContextListener - Trying platform Mbean server
1467+ 13:09:30 [pool-1-thread-1] INFO ch.qos.logback.demo.LoggingTask - Howdydy-diddly-ho - 0
1468+ 13:09:38 [btpool0-7] INFO c.q.l.demo.lottery.LotteryAction - Number: 50 was tried.
1469146913:09:40 [btpool0-7] INFO c.q.l.d.prime.NumberCruncherImpl - Beginning to factor.
1470147013:09:40 [btpool0-7] DEBUG c.q.l.d.prime.NumberCruncherImpl - Trying 2 as a factor.
1471147113:09:40 [btpool0-7] INFO c.q.l.d.prime.NumberCruncherImpl - Found factor 2
@@ -1615,7 +1615,7 @@ <h2 class="doAnchor" name="Evaluators">Evaluators</h2>
16151615 message.contains("who calls thee")</expression>
16161616 </evaluator> </ b >
16171617
1618- <appender name="STDOUT" class="ch.qos.logback.; core.ConsoleAppender">
1618+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
16191619 <encoder>
16201620 <pattern>
16211621 %-4relative [%thread] %-5level -%kvp -%msg%n< b > %caller{2, DISP_CALLER_EVAL}</ b >
@@ -1653,25 +1653,25 @@ <h2 class="doAnchor" name="Evaluators">Evaluators</h2>
16531653import org.slf4j.Logger;
16541654import org.slf4j.LoggerFactory;
16551655
1656- import ch.qos.logback.classic.; LoggerContext;
1657- import ch.qos.logback.classic.; joran.JoranConfigurator;
1658- import ch.qos.logback.core.; joran.spi.JoranException;
1659- import ch.qos.logback.core.; util.StatusPrinter;
1656+ import ch.qos.logback.classic.LoggerContext;
1657+ import ch.qos.logback.classic.joran.JoranConfigurator;
1658+ import ch.qos.logback.core.joran.spi.JoranException;
1659+ import ch.qos.logback.core.util.StatusPrinter;
16601660
16611661public class CallerEvaluatorExample {
16621662
16631663 public static void main(String[] args) {
1664- Logger logger = LoggerFactory.getLogger(; CallerEvaluatorExample.; class);
1665- LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(; );
1664+ Logger logger = LoggerFactory.getLogger(CallerEvaluatorExample.class);
1665+ LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
16661666
16671667 try {
16681668 JoranConfigurator configurator = new JoranConfigurator();
1669- configurator.setContext(; lc);
1670- configurator.doConfigure(; args[0]);
1669+ configurator.setContext(lc);
1670+ configurator.doConfigure(args[0]);
16711671 } catch (JoranException je) {
16721672 // StatusPrinter will handle this
16731673 }
1674- StatusPrinter.printInCaseOfErrorsOrWarnings(; lc);
1674+ StatusPrinter.printInCaseOfErrorsOrWarnings(lc);
16751675
16761676 for (int i = 0; i < 5; i++) {
16771677 if (i == 3) {
@@ -1690,15 +1690,15 @@ <h2 class="doAnchor" name="Evaluators">Evaluators</h2>
16901690
16911691 < p > The command</ p >
16921692
1693- < p class ="source "> java chapters.layouts.; CallerEvaluatorExample src/main/java/chapters/​layouts/callerEvaluatorConfig.​xml</ p >
1693+ < p class ="source "> java chapters.layouts.CallerEvaluatorExample src/main/java/chapters/​layouts/callerEvaluatorConfig.​xml</ p >
16941694
16951695 < p > will yield</ p >
16961696
16971697 < div class ="source "> < pre > 0 [main] DEBUG - I know me 0
169816980 [main] DEBUG - I know me 1
169916990 [main] DEBUG - I know me 2
170017000 [main] DEBUG - who calls thee?
1701- Caller+0 at chapters.layouts.; CallerEvaluatorExample.​main(CallerEvaluatorExample.​java:28)
1701+ Caller+0 at chapters.layouts.CallerEvaluatorExample.​main(CallerEvaluatorExample.​java:28)
170217020 [main] DEBUG - I know me 4</ pre > </ div >
17031703
17041704
@@ -1746,26 +1746,26 @@ <h2 class="doAnchor" name="Evaluators">Evaluators</h2>
17461746import org.slf4j.Logger;
17471747import org.slf4j.LoggerFactory;
17481748
1749- import ch.qos.logback.classic.; LoggerContext;
1750- import ch.qos.logback.classic.; joran.JoranConfigurator;
1751- import ch.qos.logback.core.; joran.spi.JoranException;
1752- import ch.qos.logback.core.; util.StatusPrinter;
1749+ import ch.qos.logback.classic.LoggerContext;
1750+ import ch.qos.logback.classic.joran.JoranConfigurator;
1751+ import ch.qos.logback.core.joran.spi.JoranException;
1752+ import ch.qos.logback.core.util.StatusPrinter;
17531753
17541754public class ExceptionEvaluatorExample {
17551755
17561756 public static void main(String[] args) {
1757- Logger logger = LoggerFactory.getLogger(; ExceptionEvaluatorExample.; class);
1758- LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(; );
1757+ Logger logger = LoggerFactory.getLogger(ExceptionEvaluatorExample.class);
1758+ LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
17591759
17601760 try {
17611761 JoranConfigurator configurator = new JoranConfigurator();
1762- configurator.setContext(; lc);
1762+ configurator.setContext(lc);
17631763 lc.reset();
1764- configurator.doConfigure(; args[0]);
1764+ configurator.doConfigure(args[0]);
17651765 } catch (JoranException je) {
17661766 // StatusPrinter will handle this
17671767 }
1768- StatusPrinter.printInCaseOfErrorsOrWarnings(; lc);
1768+ StatusPrinter.printInCaseOfErrorsOrWarnings(lc);
17691769
17701770 for (int i = 0; i < 3; i++) {
17711771 if (i == 1) {
@@ -1833,11 +1833,11 @@ <h2 class="doAnchor" name="Evaluators">Evaluators</h2>
18331833
18341834< p class ="source "> logging statement 0
18351835java.lang.Exception: display
1836- at chapters.layouts.; ExceptionEvaluatorExample.; main(ExceptionEvaluatorExample.; java:43) [logback-examples-0.; 9.19.jar:na]
1836+ at chapters.layouts.ExceptionEvaluatorExample.main(ExceptionEvaluatorExample.java:43) [logback-examples-0.9.19.jar:na]
18371837logging statement 1
18381838logging statement 2
18391839java.lang.Exception: display
1840- at chapters.layouts.; ExceptionEvaluatorExample.; main(ExceptionEvaluatorExample.; java:43) [logback-examples-0.; 9.19.jar:na]</ p >
1840+ at chapters.layouts.ExceptionEvaluatorExample.main(ExceptionEvaluatorExample.java:43) [logback-examples-0.9.19.jar:na]</ p >
18411841
18421842
18431843 < p > Notice how the second log statement has no stack trace. We
@@ -1919,9 +1919,9 @@ <h4>Step 2</h4>
19191919< pre > < code > <configuration>
19201920
19211921 < b > <conversionRule conversionWord="nanos"
1922- converterClass="chapters.; layouts.MySampleConverter" /> </ b >
1922+ converterClass="chapters.layouts.MySampleConverter" /> </ b >
19231923
1924- <appender name="STDOUT" class="ch.qos.logback.; core.ConsoleAppender">
1924+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
19251925 <encoder>
19261926 <pattern> < b > %-6nanos</ b > [%thread] -%kvp -%msg%n</pattern>
19271927 </encoder>
@@ -2010,9 +2010,9 @@ <h2 class="doAnchor" name="ClassicHTMLLayout">HTMLLayout</h2>
20102010
20112011< div id ="htmlLayoutConfig1_legacy " class ="tabcontent ">
20122012< pre > < code > <configuration debug="true">
2013- <appender name="FILE" class="ch.qos.logback.; core.FileAppender">
2014- <encoder class="ch.qos.logback.; core.encoder.LayoutWrappingEncoder">
2015- <layout class="ch.qos.logback.; classic.html.HTMLLayout">
2013+ <appender name="FILE" class="ch.qos.logback.core.FileAppender">
2014+ <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
2015+ <layout class="ch.qos.logback.classic.html.HTMLLayout">
20162016 < b > <pattern>%relative%thread%mdc%level%logger%msg</pattern></ b >
20172017 </layout>
20182018 </encoder>
@@ -2084,9 +2084,9 @@ <h3>CSS</h3>
20842084 < code > <layout></ code > element, as shown below.
20852085 </ p >
20862086
2087- < pre > < code > <layout class="ch.qos.logback.; classic.html.HTMLLayout">
2087+ < pre > < code > <layout class="ch.qos.logback.classic.html.HTMLLayout">
20882088 <pattern> %relative...%msg</;pattern>
2089- <cssBuilder class="ch.qos.logback.; classic.html.UrlCssBuilder">
2089+ <cssBuilder class="ch.qos.logback.classic.html.UrlCssBuilder">
20902090 <!-- url where the css file is located -->
20912091 <url> http://...</url>
20922092 </cssBuilder>
@@ -2135,10 +2135,10 @@ <h2 class="doAnchor" name="log4jXMLLayout">Log4j XMLLayout</h2>
21352135
21362136< div id ="log4jXMLLayout_legacy " class ="tabcontent ">
21372137 < pre > < code > <configuration>
2138- <appender name="FILE" class="ch.qos.logback.; core.FileAppender">
2138+ <appender name="FILE" class="ch.qos.logback.core.FileAppender">
21392139 <file> test.xml</file>
2140- <encoder class="ch.qos.logback.; core.encoder.LayoutWrappingEncoder">
2141- <layout class="ch.qos.logback.; classic.log4j.XMLLayout">
2140+ <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
2141+ <layout class="ch.qos.logback.classic.log4j.XMLLayout">
21422142 <locationInfo> true</locationInfo>
21432143 </layout>
21442144 </encoder>
0 commit comments