[logback-user] Configuring FileAppender - only empty logfile created

Ceki Gülcü ceki at qos.ch
Thu Nov 28 15:45:16 CET 2013


Looks good except that encoders cannot be shared. Try creating to 
PatternLayoutEncoder instances.

On 11/28/2013 2:30 PM, stepwalk wrote:
> Hi Everyone :-)
>
> i've many troubles getting my FileAppender creating Logfiles.
> The Logfile itself is created, but it's always empty. I don't know what else
> i can do??!
> May someone can have a look at my code and help me out.
>
> Cheers Stephan
>
>
>
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
>
> import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
> import ch.qos.logback.classic.spi.ILoggingEvent;
> import ch.qos.logback.classic.Level;
> import ch.qos.logback.classic.LoggerContext;
> import ch.qos.logback.core.ConsoleAppender;
> import ch.qos.logback.core.FileAppender;
> import ch.qos.logback.core.util.StatusPrinter;
>
>
> part of my main code:
>
> 		// get instance of RootLogger for modification
> 		ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger)
> LoggerFactory
> 				.getLogger(Logger.ROOT_LOGGER_NAME);
>
> 		// reset the default context (which may already have been initialized)
> 		// since we want to reconfigure it
> 		LoggerContext logContext = logger.getLoggerContext();
> 		logContext.reset();
>
> 		// setup FileAppender
> 		PatternLayoutEncoder encoder1 = new PatternLayoutEncoder();
> 		encoder1.setPattern("%date %level [%thread] [%file:%line] %msg%n");
> 		encoder1.setContext(logContext);
> 		encoder1.start();
>
> 		
> 		// create FileAppender
> 		FileAppender<ILoggingEvent> logfileOut = new
> FileAppender<ILoggingEvent>();
> 		logfileOut.setAppend(true);
> 		logfileOut.setFile("/home/stepwalk/AlmiraTestLocal/EclipseTestLogs/"
> 				+ name + "_" + System.currentTimeMillis() + ".log");
> 		logfileOut.setContext(logContext);
> 		logfileOut.setEncoder(encoder1);
> 		logfileOut.start();
> 		
> 		// create ConsoleAppender
> 		ConsoleAppender<ILoggingEvent> consoleOut = new
> ConsoleAppender<ILoggingEvent>();
> 		consoleOut.setEncoder(encoder1);
> 		consoleOut.start();
>
> 		// attach the rolling file appender to the root logger
> 		logger.addAppender(logfileOut);
> 		logger.addAppender(consoleOut);
> 		logger.setLevel(Level.DEBUG);
>
> 		// print logback internal status messages
> 		StatusPrinter.print(logContext);
>
> ......more code......
>
>
>
>
> --
> View this message in context: http://logback.10977.n7.nabble.com/Configuring-FileAppender-only-empty-logfile-created-tp13127.html
> Sent from the Users mailing list archive at Nabble.com.
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://mailman.qos.ch/mailman/listinfo/logback-user
>


More information about the Logback-user mailing list