Add a general log method to Logger class
the params order is the actual correct one: log level, message, context, group_id, prefix not that group_id and prefix are only used if log level is debug Switched debug params order for context and prefix so prefix is last
This commit is contained in:
@@ -691,6 +691,11 @@ final class CoreLibsLoggingLoggingTest extends TestCase
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function providerLoggingLevelWrite(): array
|
||||
{
|
||||
return [
|
||||
@@ -796,6 +801,39 @@ final class CoreLibsLoggingLoggingTest extends TestCase
|
||||
);
|
||||
}
|
||||
|
||||
// check log level that writer writes in correct level
|
||||
// also that non debug ignores prefix/group
|
||||
|
||||
/**
|
||||
* Undocumented function
|
||||
*
|
||||
* @covers ::log
|
||||
* @testdox log() general call test
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testLoggingLog(): void
|
||||
{
|
||||
// init logger
|
||||
$log = new \CoreLibs\Logging\Logging([
|
||||
'log_file_id' => 'testLoggingLog',
|
||||
'log_folder' => self::LOG_FOLDER,
|
||||
'log_per_level' => true,
|
||||
]);
|
||||
$log_ok = $log->log(Level::Debug, 'DEBUG', group_id: 'GROUP_ID', prefix: 'PREFIX:');
|
||||
$this->assertTrue($log_ok, 'assert ::log (debug) OK');
|
||||
$this->assertEquals(
|
||||
$log->getLogFile(),
|
||||
$log->getLogFileId() . '_DEBUG.log'
|
||||
);
|
||||
$log_ok = $log->log(Level::Info, 'INFO', group_id: 'GROUP_ID', prefix: 'PREFIX:');
|
||||
$this->assertTrue($log_ok, 'assert ::log (info) OK');
|
||||
$this->assertEquals(
|
||||
$log->getLogFile(),
|
||||
$log->getLogFileId() . '_INFO.log'
|
||||
);
|
||||
}
|
||||
|
||||
// must test flow:
|
||||
// init normal
|
||||
// log -> check file name
|
||||
|
||||
@@ -910,6 +910,42 @@ class Logging
|
||||
// MAIN CALLS
|
||||
// *********************************************************************
|
||||
|
||||
/**
|
||||
* Commong log interface
|
||||
*
|
||||
* extended with group_id, prefix that are ONLY used for debug level
|
||||
*
|
||||
* @param Level $level
|
||||
* @param string|\Stringable $message
|
||||
* @param mixed[] $context
|
||||
* @param string $group_id
|
||||
* @param string $prefix
|
||||
* @return bool
|
||||
*/
|
||||
public function log(
|
||||
Level $level,
|
||||
string|\Stringable $message,
|
||||
array $context = [],
|
||||
string $group_id = '',
|
||||
string $prefix = '',
|
||||
): bool {
|
||||
// if we are not debug, ignore group_id and prefix
|
||||
if ($level != Level::Debug) {
|
||||
$group_id = '';
|
||||
$prefix = '';
|
||||
}
|
||||
return $this->writeErrorMsg(
|
||||
$level,
|
||||
$this->prepareLog(
|
||||
$level,
|
||||
$prefix . $message,
|
||||
$context,
|
||||
$group_id
|
||||
),
|
||||
$group_id
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* DEBUG: 100
|
||||
*
|
||||
@@ -927,8 +963,8 @@ class Logging
|
||||
public function debug(
|
||||
string $group_id,
|
||||
string|\Stringable $message,
|
||||
string $prefix = '',
|
||||
array $context = []
|
||||
array $context = [],
|
||||
string $prefix = ''
|
||||
): bool {
|
||||
return $this->writeErrorMsg(
|
||||
Level::Debug,
|
||||
|
||||
Reference in New Issue
Block a user