Coverage Report - com.nilhcem.fakesmtp.log.SMTPLogsAppender
 
Classes in this File Line Coverage Branch Coverage Complexity
SMTPLogsAppender
85%
6/7
50%
1/2
1.5
 
 1  
 package com.nilhcem.fakesmtp.log;
 2  
 
 3  
 import java.util.Observable;
 4  
 
 5  
 import ch.qos.logback.classic.spi.ILoggingEvent;
 6  
 import ch.qos.logback.core.AppenderBase;
 7  
 
 8  
 /**
 9  
  * Logback appender class, which will redirect all logs to the {@code LogsPane} object.
 10  
  *
 11  
  * @author Nilhcem
 12  
  * @since 1.0
 13  
  * @param <E> a Logback logging event.
 14  
  */
 15  1
 public final class SMTPLogsAppender<E> extends AppenderBase<E> {
 16  1
         private SMTPLogsObservable observable = new SMTPLogsObservable();
 17  
 
 18  
         /**
 19  
          * Receives a log from Logback, and sends it to the {@code LogsPane} object.
 20  
          *
 21  
          * @param event a Logback {@code ILoggingEvent} event.
 22  
          */
 23  
         @Override
 24  
         protected void append(E event) {
 25  1
                 if (event instanceof ILoggingEvent) {
 26  1
                         ILoggingEvent loggingEvent = (ILoggingEvent) event;
 27  1
                         observable.notifyObservers(loggingEvent.getFormattedMessage());
 28  
                 }
 29  1
         }
 30  
 
 31  
         /**
 32  
          * Returns the log observable object.
 33  
          *
 34  
          * @return the log observable object.
 35  
          */
 36  
         public Observable getObservable() {
 37  0
                 return observable;
 38  
         }
 39  
 }