[logback-user] Problem with configuring logback programatically
Ceki Gülcü
ceki at qos.ch
Sun Feb 27 21:29:23 CET 2011
The appender.setLayout(patternLayout); call generates a warning.
However, at that time the appender does not know its context.
Change
appender.setLayout(patternLayout);
appender.setContext(lc);
to
appender.setContext(lc);
appender.setLayout(patternLayout);
In which case you will get the warning message:
|-WARN - This appender no longer admits a layout as a sub-component, set
an encoder instead.
|-WARN - To ensure compatibility, wrapping your layout in
LayoutWrappingEncoder.
|-WARN - See also
http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
Visit http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for
further instructions.
HTH,
--
Ceki
On 27/02/2011 5:50 PM, Shahar.Kedar at thomsonreuters.com wrote:
> Hi,
>
> I’m using logback 0.9.28 and I’m trying to configure logback
> programmatically with the following code:
>
> public void prepare() {
>
> LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
>
> lc.reset();
>
> lc.getLogger("com").setLevel(Level.DEBUG);
>
> lc.getLogger("com.example").setLevel(Level.DEBUG);
>
> lc.getLogger("com.example.test").setLevel(Level.DEBUG);
>
> lc.getLogger("com.example.test.inner").setLevel(Level.DEBUG);
>
> PatternLayout patternLayout = new PatternLayout();
>
> patternLayout.setContext(lc);
>
> patternLayout.setPattern("%-5level %logger - %msg%n");
>
> patternLayout.start();
>
> ConsoleAppender<ILoggingEvent> appender = new
> ConsoleAppender<ILoggingEvent>();
>
> appender.setLayout(patternLayout);
>
> appender.setContext(lc);
>
> appender.start();
>
> lc.getLogger("root").addAppender(appender);
>
> lc.start();
>
> StatusPrinter.printInCaseOfErrorsOrWarnings(lc);
>
> super.prepare(testCase);
>
> }
>
> I keep getting the following message: LOGBACK: No context given for
> ch.qos.logback.core.ConsoleAppender[null].
>
> I’m seeing the log messages in the console, but I fail to understand why
> I’m getting this message.
>
> Thanks,
>
> Shahar
>
>
> This email was sent to you by Thomson Reuters, the global news and
> information company.
> Any views expressed in this message are those of the individual sender,
> except where the sender specifically states them to be the views of
> Thomson Reuters.
>
>
--
QOS.ch, main sponsor of cal10n, logback and slf4j open source projects,
is looking to hire talented software developers. If interested, please
email your resume to hr at qos.ch.
More information about the Logback-user
mailing list