cvičení 03

Apache Log4j, návrhový vzor Builder

Návrhový vzor Builder

V projektu  cvičení 1 , cvičení 2, cvičení 3

  • Pro třídu lab.Setting (lab.Config, lab.Setup) vytvořte "builder"
  • Zajistěte, že instance lab.Setting (lab.Config, lab.Setup) je možné vytvářet pouze pomocí "builderu".
  • Pro vytváření "builder-u" vytvořte statickou tovární metodu ve třídě lab.Setting (lab.Config, lab.Setup). Zajistěte, že se vně používá pouze tato metoda.
  • Vytvořte statickou metodu pro vytvoření speciální instance třídy lab.Setting (lab.Config, lab.Setup), třeba pro vysokou obtížnost hry.

Knihovna Log4j

V projektu použijte logování pomocí knihovny Log4j2.

  • Přidejte logovací zprávy do některých tříd. Například do pohybujících se objektů.
  • Pro pohybující se objekty v úrovni TRACE vypisujte každou změnu polohy.

Nakonfigurujte log4j2 tak aby:

  • vytvářel nový soubor při každém spuštění
  • Aby se po dosažení dané velikosti/stáří souboru vytvořil nový
  • Aby se po dosažení počtu/celkové velikosti/stáří soubory mazaly
  • Zkuste nastavit aby se v různých balíčcích použil různý log level.

Inspirujte se v dokumentaci https://logging.apache.org/log4j/2.x/manual/appenders.html a hledejte RollingFile nebo DefaultRolloverStrategy

Equals a Hashcode

Pro třídu lab.data.Score překryjte metodu equals a hashcode tak aby dávala logicky smysl.