// Rolling Log Appender
String fileDirectory = KanetikApplication.getFileDirectory(context);
RollingFileAppender<ILoggingEvent> rollingFileAppender = new RollingFileAppender<ILoggingEvent>();
rollingFileAppender.setContext(loggerContext);
rollingFileAppender.setAppend(true);
rollingFileAppender.setFile(fileDirectory + "/log.txt");
TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = new TimeBasedRollingPolicy<ILoggingEvent>();
rollingPolicy.setMaxHistory(2);
rollingPolicy.setFileNamePattern(fileDirectory + "/log.%d.txt");
rollingPolicy.setParent(rollingFileAppender);
rollingPolicy.setContext(loggerContext);
rollingPolicy.start();
rollingFileAppender.setRollingPolicy(rollingPolicy);
PatternLayoutEncoder fileEncoder = new PatternLayoutEncoder();
fileEncoder.setContext(loggerContext);
fileEncoder.setPattern("%d{h:mm:ss} %level - %msg%n");
fileEncoder.start();
rollingFileAppender.setEncoder(fileEncoder);
rollingFileAppender.start();
// LogCat Appender
PatternLayoutEncoder logcatEncoder = new PatternLayoutEncoder();
logcatEncoder.setContext(loggerContext);
logcatEncoder.setPattern("%msg%n");
logcatEncoder.start();
PatternLayoutEncoder tagEncode = new PatternLayoutEncoder();
tagEncode.setContext(loggerContext);
tagEncode.setPattern(tag);
tagEncode.start();
LogcatAppender logcatAppender = new LogcatAppender();
logcatAppender.setContext(loggerContext);
logcatAppender.setEncoder(logcatEncoder);
logcatAppender.setTagEncoder(tagEncode);
logcatAppender.start();
// add the newly created appenders to the root logger;
// qualify Logger to disambiguate from org.slf4j.Logger
ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.setLevel(level);
root.addAppender(rollingFileAppender);
root.addAppender(logcatAppender);