interpolate( $message, $context ); // Create Log Object $log = Ninja_Forms()->form()->object()->get(); $log->update_setting( 'type', 'log' ) ->update_setting( 'level', $level ) ->update_setting( 'message', $message ); foreach ($context as $key => $value) { $log->update_setting($key, maybe_serialize($value)); } // Add to Database $log->save(); // Add to Current Property Array $this->_current[ $level ][] = $log; } /** * Get current logs for the request lifecycle * * @param string $level * @return array */ public function get_current( $level = '' ) { return ( $level ) ? $this->_current[ $level ] : $this->_current; } /** * Interpolates context values into the message placeholders. * * @param $message * @param array $context * @return string */ protected function interpolate( $message, array $context = array() ) { // build a replacement array with braces around the context keys $replace = array(); foreach ($context as $key => $val) { if( is_array( $val ) ) continue; $replace['{' . $key . '}'] = $val; } // interpolate replacement values into the message and return return strtr($message, $replace); } }