Hi Steve,

The code for programmatic configuration is good. You just need to reset the context before you configure. Add the following line after the definitionof the loggerContext variable.

  loggerContext.reset();

HTH,

--
Ceki
65% of statistics are made up on the spot

On 01.02.2013 19:01, Steve Prior wrote:
On 2/1/2013 12:45 PM, Marshall Pierce wrote:
Is it the same output that is also showing up in the log file, or
other output? Can you provide a more complete code sample with file
output and stdout output?

Marshall

Here is the complete source code (no config files at all):
package com.geekster.logbackDemo;

import org.slf4j.LoggerFactory;

import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.PatternLayout;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.FileAppender;

public class Testcase {

    public static void main(String[] args) {
       LoggerContext loggerContext = (LoggerContext)
LoggerFactory.getILoggerFactory();

       FileAppender<ILoggingEvent> fileAppender = new
FileAppender<ILoggingEvent>();
       fileAppender.setContext(loggerContext);
       fileAppender.setFile(Testcase.class.getSimpleName() + ".log");

       PatternLayout pl = new PatternLayout();
       pl.setPattern("%d %5p %t [%c:%L] %m%n)");
       pl.setContext(loggerContext);
       pl.start();
       fileAppender.setLayout(pl);

       fileAppender.start();

       Logger logbackLogger = loggerContext.getLogger(Testcase.class);
       logbackLogger.addAppender(fileAppender);

       logbackLogger.info("this should only be in the logfile.");
       System.out.println("this should only be at the console");
    }

}

Here is what gets written to System.out:
12:57:07.496 [main] INFO  com.geekster.logbackDemo.Testcase - this
should only be in the logfile.
this should only be at the console

Here is what gets written to Testcase.log:
2013-02-01 12:57:07,496  INFO main
[com.geekster.logbackDemo.Testcase:31] this should only be in the logfile.


So what I'm looking to do is to have the log entry "12:57:07.496 [main]
INFO com.geekster.logbackDemo.Testcase - this should only be in the
logfile." only appear in the logfile, but not at the console where I
only expect "this should only be at the console" to be visible.

Thanks for looking.
Steve



_______________________________________________
Logback-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/logback-user

Reply via email to