1 / 14

Web-applikasjoner Prosjekt3 Logging

Web-applikasjoner Prosjekt3 Logging. Gruppe 9 Malik Muhammad Naeem Kevan Qureshi. Hvorfor bruke logging?. Logg gir presis beskrivelse av en kjørende applikasjon Logg kan lagres til en fil og deretter leses senere. For mange er det nyttig å vite hva som skjer uten å sette seg inn i koden.

nigel
Download Presentation

Web-applikasjoner Prosjekt3 Logging

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web-applikasjoner Prosjekt3 Logging • Gruppe 9 • Malik Muhammad Naeem • Kevan Qureshi

  2. Hvorfor bruke logging? • Logg gir presis beskrivelse av en kjørende applikasjon • Logg kan lagres til en fil og deretter leses senere. • For mange er det nyttig å vite hva som skjer uten å sette seg inn i koden

  3. Når skal man bruke logging? • I utviklingsstadiet:- Logg funksjonen kan hjelpe deg med å debuge koden din • I et produksjonsmiljø:- Hjelper deg med å feilsøke problemer som oppstår

  4. Apache logging • http://logging.apache.orgVi har 3 forskjellige logge rammeverk: • Log4j for Java • Log4cxx for C++ • Log4net for Micosoft .NET

  5. Apache log4j • Apache log4j har tre utviklingsgrener: • En stabil versjon 1.2 • En nedlagt versjon 1.3 • En eksperimentell versjon 2.0

  6. Hello.java log4j • Last ned log4j fra logging.apache.org • Pakk ut .zip filen deretter • Legg log4j-VERSION.jar i din classpath • Du kan nå teste om det fungerer ved å kjøre følgende kode:

  7. Hello.java log4j import org.apache.log4j.Logger; import org.apache.log4j.BasicConfigurator; public class Hello { private static final Logger logger = Logger.getLogger(Personnr.class); public static void main(String argv[]) { BasicConfigurator.configure(); logger.debug(“HeiVerden."); logger.info(“Ha en fin dag."); } }

  8. Resultat av Hello.java • 0 [main] DEBUG Personnr - Hei Verden. • 16 [main] INFO Personnr - Ha en fin dag.

  9. Skrive til fil • Ting styres via en log4j.properties fil som må legges i src katalogen • Du kan også bruke xml for det samme. Log4j ser først etter en xml fil, deretter en dtd fil også leser den av log4j.properties. log4j.rootCategory=warn, stdout, R -> 2 stk apenders, den siste bruker vi til å lagre til fil. • log4j.appender.R.File=example.log

  10. Log4j.properties • #### Use two appenders, one to log to console, another to log to a file • log4j.rootCategory=debug, stdout, R • # Print only messages of priority WARN or higher for your category • log4j.category.your.category.name=WARN • # Specifically inherit the priority level • #log4j.category.your.category.name=INHERITED • #### First appender writes to console • log4j.appender.stdout=org.apache.log4j.ConsoleAppender • log4j.appender.stdout.layout=org.apache.log4j.PatternLayout • # Pattern to output the caller's file name and line number. • log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n • #### Second appender writes to a file • log4j.appender.R=org.apache.log4j.RollingFileAppender • log4j.appender.R.File=example.log • log4j.appender.R.layout=org.apache.log4j.PatternLayout • log4j.appender.R.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n • # Control the maximum log file size • log4j.appender.R.MaxFileSize=100KB • # Archive log files (one backup file here) • log4j.appender.R.MaxBackupIndex=1

  11. Log4j.xml • Alternativ til log4j.properties: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" > <log4j:configuration> <appender name="stdout" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n"/> </layout> </appender> <root> <priority value="debug"></priority> <appender-ref ref="stdout"/> </root> </log4j:configuration>

  12. Flere nivåer ved logging • all Alle nivåer er inkludert customs-levels. • trace for utvikling; kan brukes til å følge med på oppstart av et program • debug for utvikling og debugging • info optionally; beskjeder som er på samme nivå som “verbose” mode. • warn For advarsel beskjeder som blir logget til en fil f.eks. Eller når noen prøver å logge seg inn med ugyldig passord • error For applikasjon feilmelding • fatal For kritiske feilmeldinger. Som f.eks at database-serveren ikke fungerer. • no Logger ikke I det hele tatt

  13. Anbefaling • Ikke bruk System.out.println • Bruk log4j

  14. Spørsmål?

More Related