Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[java] Logger, logregels als List opvragen

Pagina: 1
Acties:

  • MisterE
  • Registratie: April 2002
  • Laatst online: 19-11 19:26
Ik ben een beginner met Java.

Ik ben op zoek naar het volgende:
* Altijd loggen in "debug" mode naar een bestand op disk
* Op basis van het "filter" creteria een lijst van "logregels" geven.

Om dit nader uit te leggen:
Dit gaat om een java proces dat iemand start. Ik wil op het eind altijd de logging mailen (alleen van zijn sessie)
Als het proces draaide zonder problemen wil ik dus een lijst van INFO's en WARNING's mailen.
Mocht het proces eindigen met een FATAL dan wil ik graag ook de DEBUG's erbij mailen.

Als ik wat browse door de voorbeelden van de volgende Loggers:
Wikipedia: Java logging framework
Dan lijkt het erop alsof ze alleen naar disk loggen.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 20-11 15:59

Gerco

Professional Newbie

Hangt van het logging framework af... er zijn er veel te veel voor Java. Je kan meestal wel een eigen class schrijven (bij Log4J heet dat een Appender, bij andere systemen een Handler of weer anders) die de logregels in een List schrijft en dan mailt.

Als je dan je Appender voor elkaar hebt moet je die configureren in je logging configuratie en kun je kiezen welke log entries je daar naartoe wilt schrijven. Dan krijg je van het logging framework een call met de log gegevens en kun je daarmee doen wat je wilt.

Voor Log4j kun je overal tutorials vinder hoe je een Appender moet schrijven. Bijvoorbeeld hier, hier en hier.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Duik idd eens in log4j, een uitgebreide logger (veel meer mogelijkheden dan de standaard Logger class in Java zelf).

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Wat is er mis met naar disk loggen?

In de praktijk wil je geen logging in memory hebben (want dan laat iemand het een week draaien en dan heb je geheugen problemen enkel vanwege je logging die geheugen inneemt)

Ik zou het gewoon naar disk loggen en dan enkel synchroon loggen zodat je zeker weet dat het op disk staat, dan bij een error of een fatal pak je gewoon in je errorhandling dat bestand op en parse je dat naar een list (indien gewenst) of je voegt het bestand direct toe als bijlage.