Verschil tussen logger.info en logger.debug

Wat is het verschil tussen Logger.debugen logger.info?

Wanneer wordt Logger.debugafgedrukt?


Antwoord 1, autoriteit 100%

Dit is afhankelijk van de logboekconfiguratie. De standaardwaarde is afhankelijk van het gebruikte framework. Het idee is dat je later, door een configuratie-instelling te wijzigen van INFO naar DEBUG, een heleboel meer (of minder als het andersom is) regels afgedrukt ziet zonder de hele applicatie opnieuw te compileren.

Als je bedenkt welke je moet gebruiken, komt het erop neer dat je bedenkt wat je op welk niveau wilt zien. Voor andere niveaus, bijvoorbeeld in Log4J, kijk naar de API, http ://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html


Antwoord 2, autoriteit 92%

Ik raad je aan het artikel “Korte introductie tot log4j”te lezen . Het bevat een korte toelichting op logniveaus en laat zien hoe deze in de praktijk kunnen worden toegepast. Het basisidee van logniveaus is dat u wilt kunnen configureren hoeveel details de logs bevatten, afhankelijk van de situatie. Als u bijvoorbeeld een probleem probeert op te lossen, wilt u dat de logboeken zeer uitgebreid zijn. In productie wil je misschien alleen waarschuwingen en fouten zien.

Het logniveau voor elk onderdeel van uw systeem wordt meestal beheerd via een parameter in een configuratiebestand, dus het is gemakkelijk te wijzigen. Uw code zou verschillende logging-instructies met verschillende niveaus bevatten. Als u reageert op een Exception, kunt u Logger.erroraanroepen. Als u de waarde van een variabele op een bepaald punt wilt afdrukken, kunt u Logger.debugaanroepen. Deze combinatie van een configureerbaar logboekniveau en logboekinstructies binnen uw programma geeft u volledige controle over hoe uw toepassing zijn activiteiten registreert.

In het geval van log4j is de volgorde van logniveaus tenminste:

DEBUG < INFO < WARN < ERROR < FATAL

Hier is een kort voorbeeld uit dat artikel dat laat zien hoe logniveaus werken.

  // get a logger instance named "com.foo"
   Logger logger = Logger.getLogger("com.foo");
   // Now set its level. Normally you do not need to set the
   // level of a logger programmatically. This is usually done
   // in configuration files.
   logger.setLevel(Level.INFO);
   Logger barlogger = Logger.getLogger("com.foo.Bar");
   // This request is enabled, because WARN >= INFO.
   logger.warn("Low fuel level.");
   // This request is disabled, because DEBUG < INFO.
   logger.debug("Starting search for nearest gas station.");
   // The logger instance barlogger, named "com.foo.Bar",
   // will inherit its level from the logger named
   // "com.foo" Thus, the following request is enabled
   // because INFO >= INFO.
   barlogger.info("Located nearest gas station.");
   // This request is disabled, because DEBUG < INFO.
   barlogger.debug("Exiting gas station search");

Antwoord 3, autoriteit 47%

Gewoon een verduidelijking over de set van alle mogelijke niveaus, die zijn:

ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF

Antwoord 4, Autoriteit 32%

In principe is het afhankelijk van hoe uw houthakkers zijn geconfigureerd. Meestal had u debuggenoutgeschreven tijdens de ontwikkeling, maar uitgeschakeld in de productie – of mogelijk Geselecteerd Debug-categorieën die uitschrijven tijdens het debuggen van een bepaald gebied.

Het punt van het hebben van verschillende prioriteiten is om u in staat te stellen het detailniveau op een bepaalde component op een redelijk fijnkorrelige manier op te zetten – en alleen hoeft alleen de loggingconfiguratie (in plaats van de code) te wijzigen om de verschil.


Antwoord 5, Autoriteit 18%

  1. Info wordt gebruikt om de informatie te loggen die uw programma werkt zoals verwacht.
  2. Debug wordt gebruikt om de reden te vinden in het geval dat uw programma niet werkt zoals verwacht of er is een uitzondering opgetreden. Het is in het belang van de ontwikkelaar.

Antwoord 6, Autoriteit 9%

Dit is een heel oude vraag, maar ik zie hier niet mijn begrip, dus ik zal mijn 2 cent toevoegen:

elk niveau komt overeen met / kaarten naar een type gebruiker:

  • debug: ontwikkelaar – handmatig debuggen
  • trace: geautomatiseerde logging en stap tracer – voor ondersteuning van 3e niveau
  • Info: Technician / Support Level 1/2
  • Waarschuwing: Technicus / Gebruikersfout: geautomatiseerd alarm / ondersteuningsniveau 1
  • Critical / Fatal: hangt af van uw setup – Lokaal IT

Antwoord 7, Autoriteit 3%

Het hangt af van welk niveau u hebt geselecteerd in uw Log4J-configuratiebestand.

<Loggers>
        <Root level="info">
        ...

Als uw niveau “info” is (standaard), wordt logger.debug(...)niet afgedrukt in uw console.
Als uw niveau echter “debug” is, zal dat wel het geval zijn.

Afhankelijk van het kriticiteitsniveau van uw code, moet u het meest nauwkeurige niveau van de volgende gebruiken:

ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF

Antwoord 8

Wat is het verschil tussen logger.debug en logger.info?

Dit zijn slechts enkele standaardniveaus die al zijn gedefinieerd. U kunt uw eigen niveaus definiëren als u dat wilt.
Het doel van die niveaus is om een of meer ervan in of uit te schakelen, zonder enige wijziging in uw code aan te brengen.

Wanneer wordt logger.debug afgedrukt ??

Als je debug of een hoger niveau in je configuratie hebt ingeschakeld.

Other episodes