Log::log() 

\nn\t3::Log()->log($extName = 'nnhelpers', $message = NULL, $data = [], $severity = 'info'); 

Writes an entry to the sys_log table. The severity level can be specified, e.g. info, warning or error

\nn\t3::Log()->log( 'extname', 'Alles übel.', ['nix'=>'gut'], 'error' );
\nn\t3::Log()->log( 'extname', 'Alles schön.' );
Copied!

| @return mixed

Source Code 

public function log( $extName = 'nnhelpers', $message = null, $data = [], $severity = 'info' ) {
	if (is_array($message)) $message = join(" · ", $message);
	$severity = strtoupper( $severity );
	$logLevel = constant( "\TYPO3\CMS\Core\Log\LogLevel::$severity" );
	$type = $severity == 'ERROR' ? 5 : 4;	// 4 = type: EXTENSION
	// Die Core-Methode ist schön, allerdings nur, wenn man wirklich diese Flexibiltät braucht.
	// Leider sind die Log-Einträge mit dem Core DatabaseWriter nicht im Backend sichtbar.
	// Wir wollen nur einen einfach Eintrag in sys_log haben und nutzen einen simplen INSERT
	/*
	$logger = GeneralUtility::makeInstance( LogManager::class )->getLogger( __CLASS__ );
	$logger->log( $logLevel, $message, $params );
	*/
	\nn\t3::Db()->insert('sys_log', [
		'details' 		=> "[{$extName}] {$message} " . ($data ? print_r( $data, true ) : ''),
		'action' 		=> $data['action'] ?? 0,
		'level'			=> $logLevel,
		'type'			=> $type,
		'log_data'		=> serialize($data),
		'error'			=> $severity == 'ERROR' ? 1 : 0,
		'tstamp'		=> time(),
		'IP'			=> $_SERVER['REMOTE_ADDR'] ?? '',
	]);
}
Copied!