Waarom zou ik? ● Wat gebeurde er? ● Wanneer gebeurde het? ● Waar gebeurde het? (en waar niet?) ● Welke stappen zijn uitgevoerd? ● En soms de waardes van parameters en responses
Okay, maar hoe dan? ● Inspiratie: log4j (java) ○ PHP: log4php ○ Python: logging (In standard library!) ○ Ruby: log4r, logging include('Logger.php'); $logger = Logger::getLogger("main"); $logger->info("This is an informational message."); $logger->warn("I'm not feeling so good..."); INFO - This is an informational message. WARN - I'm not feeling so good...
Tips, tricks & pitfalls ● Gebruik verschillende levels effectief ○ (WARN == INFO) == False ● Debugging UIT op production ● Pas op met object/functie aanroepen ○ $logger->debug("Doing something with object " . $this->nastyLongObjectLookup()); // *yawn* App hangs