public static function StartLog(\Puzzlout\Framework\Core\Application $app, $source, $type = null)
 {
     if (is_null($source)) {
         throw new \Exception("Log must have a source, e.g. __CLASSNAME__.__METHOD__", 0, null);
         //todo: create the error code.
     }
     $log = new \Puzzlout\Framework\BO\F_log();
     $log->setF_log_guid(UUID::v4());
     $log->setF_log_level($type);
     $log->setF_log_request_id($app->request()->requestId());
     $log->setF_log_start(Logger::GetTime());
     $log->setF_log_source($source);
     self::SetLog($app->user(), $log);
     return $log->F_log_guid();
 }