Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Testkode for oppgaven: delegation/StreamLoggerTest.java Originalkoden for testen (jextest) kan du finne her: delegation/StreamLoggerTest.jextest

Del 2 - FilteringLogger

FilteringLogger-klassen implementerer ILogger-grensesnittet og delegerer til en annen ILogger-implementasjon, men bare hvis alvorlighetsgraden er en av et sett angitte verdier. Både loggeren det delegeres til og alvorlighetsgradene angis når FilteringLogger-objektet opprettes:

...

Code Block
ILogger syserrLogger = new StreamLogger(System.err);
FilteringLogger logger = new FilteringLogger(syserrLogger, ILogger.ERROR);
logger.log(ILogger.ERROR, "Denne meldingen er alvorlig og skrives til System.err", null);
logger.log(ILogger.WARNING, "Denne meldingen er en advarsel og blir filtrert bort", null);
logger.log(ILogger.INFO, "Denne meldingen er til informasjon og blir filtrert bort", null);
logger.setIsLogging(ILogger.WARNING, true);
logger.log(ILogger.WARNING, "Denne meldingen er en advarsel og blir nå skrevet til System.err", null);


Testkode for oppgaven: delegation/FilteringLoggerTest.java Originalkoden for testen (jextest) kan du finne her: delegation/FilteringLogger.jextest

Del 3 - DistributingLogger

...

Code Block
ILogger syserrLogger = new StreamLogger(System.err);
ILogger sysoutLogger = new StreamLogger(System.out);
DistributingLogger logger = new DistributingLogger(syserrLogger, syserrLogger, sysoutLogger);
logger.log(ILogger.ERROR, "Denne meldingen er alvorlig og skrives til System.err", null);
logger.log(ILogger.WARNING, "Denne meldingen er en advarsel og skrives til System.err", null);
logger.log(ILogger.INFO, "Denne meldingen er til informasjon og skrives til System.out", null);
logger.setLogger(ILogger.WARNING, sysoutLogger);
logger.log(ILogger.ERROR, "Denne meldingen er en advarsel, men nå skrives den til System.out", null);

 

Testkode for oppgaven: delegation/FilteringLoggerTest.java  Originalkoden  Originalkoden for testen (jextest) kan du finne her: delegation/DistributingLoggerTest.java jextest