protected function getMarkerValue(ILoggerEntry $entry, $mark) { switch ($mark) { case Environment::COMPILED_LAYOUT_EXCEPTION_CLASS: return get_class($entry->getException()); break; case Environment::COMPILED_LAYOUT_EXCEPTION_CODE: return $entry->getException() != null ? $entry->getException()->getCode() : "undefined code"; break; case Environment::COMPILED_LAYOUT_EXCEPTION_MESSAGE: return $entry->getException() != null ? $entry->getException()->getMessage() : "undefined exception"; break; case Environment::COMPILED_LAYOUT_EXCEPTION_STACKTRACE: return $entry->getException() != null ? $entry->getException()->getStackTrace() : ""; break; case Environment::COMPILED_LAYOUT_TIME: return date(Environment::$DATE_FORMAT, $entry->getTime()); break; case Environment::COMPILED_LAYOUT_LEVEL: return LoggerLevel::valueOf($entry->getLevel()); break; case Environment::COMPILED_LAYOUT_MESSAGE: return $entry->getMessage(); break; default: throw new IllegalArgumentException(); } }