Compare commits

...

17 Commits

Author SHA1 Message Date
Clemens Schwaighofer
6dfb68a6da Logging: internal fixes 2023-06-05 09:34:29 +09:00
Clemens Schwaighofer
5b944cd12d Release: v9.0.7 2023-06-05 09:32:12 +09:00
Clemens Schwaighofer
65cac4c6e2 Logging bug fixes for per_date/per_run flags 2023-06-02 17:45:21 +09:00
Clemens Schwaighofer
1c1ace58db Release: v9.0.6 2023-06-01 13:10:28 +09:00
Clemens Schwaighofer
16e12b5b8f Bug fixes 2023-06-01 13:08:24 +09:00
Clemens Schwaighofer
73063d28b2 Release: v9.0.5 2023-06-01 12:05:03 +09:00
Clemens Schwaighofer
e80d8006a2 print_r methods use mixed paramter 2023-06-01 12:03:38 +09:00
Clemens Schwaighofer
d648e4339a Must give go flag for publish 2023-06-01 11:09:37 +09:00
Clemens Schwaighofer
4b084f8785 Release: v9.0.4 2023-06-01 11:06:36 +09:00
Clemens Schwaighofer
d0d088b354 DB\IO bug fixes 2023-06-01 11:05:25 +09:00
Clemens Schwaighofer
e0d42af1d2 Release: v9.0.3 2023-06-01 09:17:33 +09:00
Clemens Schwaighofer
c1d26f122e phpunit tests updates 2023-06-01 09:16:06 +09:00
Clemens Schwaighofer
2c2826ac24 Bug fixes and clean ups 2023-06-01 08:47:40 +09:00
Clemens Schwaighofer
72f0810898 Release: v9.0.2 2023-05-31 18:49:58 +09:00
Clemens Schwaighofer
b69539b340 Merge branch 'development' 2023-05-31 18:48:58 +09:00
Clemens Schwaighofer
0b133133dd Release: v9.0.1 2023-05-31 18:48:55 +09:00
Clemens Schwaighofer
8fbe855fd4 Logger\Logger Excpetion calls update 2023-05-31 18:48:00 +09:00
10 changed files with 168 additions and 178 deletions

View File

@@ -1 +1 @@
9.0.0
9.0.7

View File

@@ -3,6 +3,7 @@
BASE_FOLDER=$(dirname $(readlink -f $0))"/";
VERSION=$(git tag --list | sort -V | tail -n1 | sed -e "s/^v//");
file_last_published="${BASE_FOLDER}last.published";
go_flag="$1";
if [ -z "${VERSION}" ]; then
echo "Version must be set in the form x.y.z without any leading characters";
@@ -35,6 +36,13 @@ source .env.deploy;
cd -;
set +o allexport;
if [ "${go_flag}" != "go" ]; then
echo "No go flag given";
echo "Would publish ${VERSION}";
echo "[END]";
exit;
fi;
echo "[START]";
# gitea
if [ ! -z "${GITEA_URL_DL}" ] && [ ! -z "${GITEA_URL_PUSH}" ] &&

View File

@@ -382,7 +382,7 @@ class IO
/** @var array<mixed> */
private array $pk_name_table = [];
/** @var string internal primary key name, for cross calls in async */
private string $pk_name;
private string $pk_name = '';
/** @var bool if we use RETURNING in the INSERT call */
private bool $returning_id = false;
/** @var string if a sync is running holds the hash key of the query */
@@ -1267,7 +1267,7 @@ class IO
// ONLY insert with set pk name
($this->__checkQueryForInsert($this->query, true) && $this->pk_name != 'NULL') ||
// insert or update with returning add
($this->__checkQueryForInsert($this->query) && $this->returning_id)
($this->__checkQueryForInsert($this->query) && $this->returning_id)
) {
$this->__dbSetInsertId(
$this->returning_id,
@@ -3123,16 +3123,13 @@ class IO
/**
* switches the debug flag on or off
* if none given, then return current set only
* @param bool|null $debug true/false or null for just getting current set
* @return bool Current debug flag as set
*
* @param bool $debug True/False to turn debugging in this calss on or off
* @return void
*/
public function dbSetDebug(?bool $debug = null): bool
public function dbSetDebug(bool $debug): void
{
if ($debug !== null) {
$this->db_debug = $debug;
}
return $this->db_debug;
$this->db_debug = $debug;
}
/**
@@ -3140,9 +3137,11 @@ class IO
* OR
* with the optional parameter fix sets debug
* returns current set stats
*
* @param bool|null $debug Flag to turn debug on off or null for toggle
* @return bool Current debug status
* True for debug is on, False for off
* @deprecated Use dbSetDebug and dbGetDebug
*/
public function dbToggleDebug(?bool $debug = null): bool
{
@@ -3156,6 +3155,7 @@ class IO
/**
* Return current set db debug flag status
*
* @return bool Current debug status
*/
public function dbGetDebug(): bool

View File

@@ -34,29 +34,29 @@ class Support
}
/**
* prints a html formatted (pre) array
* prints a html formatted (pre) data
*
* @param array<mixed> $array any array
* @param bool $no_html default add <pre>
* @return string formatted array for output with <pre> tag added
* @param mixed $data any data
* @param bool $no_html default add <pre>
* @return string formatted array for output with <pre> tag added
*/
public static function printAr(array $array, bool $no_html = false): string
public static function printAr(mixed $data, bool $no_html = false): string
{
return $no_html ?
print_r($array, true) :
'<pre>' . print_r($array, true) . '</pre>';
print_r($data, true) :
'<pre>' . print_r($data, true) . '</pre>';
}
/**
* alternate name for printAr function
*
* @param array<mixed> $array any array
* @param bool $no_html default add <pre>
* @return string formatted array for output with <pre> tag added
* @param mixed $data any array
* @param bool $no_html default add <pre>
* @return string formatted array for output with <pre> tag added
*/
public static function printArray(array $array, bool $no_html = false): string
public static function printArray(mixed $data, bool $no_html = false): string
{
return self::printAr($array, $no_html);
return self::printAr($data, $no_html);
}
/**
@@ -65,12 +65,12 @@ class Support
* Do not use this without using it in a string in debug function
* Note: for full data debug dumps use Support::dumpVar()
*
* @param array<mixed> $a Array to format
* @return string print_r formated
* @param mixed $data Data to print
* @return string print_r formated
*/
public static function prAr(array $a): string
public static function prAr(mixed $data): string
{
return self::printAr($a, true);
return self::printAr($data, true);
}
/**
@@ -177,7 +177,6 @@ class Support
$caller_level = 1;
$caller_list = self::getCallerMethodList();
if ($caller_list[0] == 'dV') {
echo "Raise caller level<br>: " . $caller_list[0] . "<br>";
$caller_level = 2;
}
// we need to strip the string in <small></small that is

View File

@@ -213,7 +213,7 @@ class Logging
$settings['mandatory'] && !isset($options[$name]) &&
empty($settings['alias'])
) {
throw new \InvalidArgumentException(
throw new InvalidArgumentException(
'Missing mandatory option: "' . $name . '"',
E_USER_WARNING
);
@@ -230,7 +230,7 @@ class Logging
switch ($settings['type']) {
case 'bool':
if (!is_bool($this->options[$name])) {
throw new \InvalidArgumentException(
throw new InvalidArgumentException(
'Option: "' . $name . '" is not of type bool',
E_USER_ERROR
);
@@ -238,7 +238,7 @@ class Logging
break;
case 'string':
if (!is_string($this->options[$name])) {
throw new \InvalidArgumentException(
throw new InvalidArgumentException(
'Option: "' . $name . '" is not of type string',
E_USER_ERROR
);
@@ -249,7 +249,7 @@ class Logging
empty($settings['type_info']) ||
!$this->options[$name] instanceof $settings['type_info']
) {
throw new \InvalidArgumentException(
throw new InvalidArgumentException(
'Option: "' . $name . '" is not of instance '
. ($settings['type_info'] ?? 'NO INSTANCE DEFINED'),
E_USER_ERROR
@@ -407,13 +407,6 @@ class Logging
}
$this->setLogFlag($log_flag_key);
}
// init per run uid
if ($this->getLogFlag(Flag::per_run)) {
$this->setLogUniqueId();
} elseif ($this->getLogFlag(Flag::per_date)) {
// init file date
$this->log_file_date = date('Y-m-d');
}
}
/**
@@ -535,7 +528,7 @@ class Logging
* Prepare the log message with all needed info blocks:
* [timestamp] [host name] [file path + file] [running uid] {class} <debug level/group id> - message
*
* @param string $level_str Log level we will write to
* @param Level $level Log level we will write to
* @param string|Stringable $message The message to write
* @param mixed[] $context Any additional info we want to attach in any format
* @param string $group_id A group id, only used in DEBUG level,
@@ -543,11 +536,15 @@ class Logging
* @return string
*/
private function prepareLog(
string $level_str,
Level $level,
string|\Stringable $message,
array $context = [],
string $group_id = '',
): string {
// only prepare if to write log level is in set log level
if (!$this->checkLogLevel($level)) {
return '';
}
// file + line: call not this but one before (the one that calls this)
$file_line = Support::getCallerFileLine(2) ??
System::getPageName(System::FULL_PATH);
@@ -562,7 +559,7 @@ class Logging
$timestamp = Support::printTime();
// if group id is empty replace it with current level
$group_str = $level_str;
$group_str = $level->getName();
if (!empty($group_id)) {
$group_str .= ':' . $group_id;
}
@@ -675,9 +672,11 @@ class Logging
*
* @return bool True, we are at debug level
*/
public function getJsDebug(): bool
public function loggingLevelIsDebug(): bool
{
return $this->log_level === Level::Debug ? true : false;
return $this->getLoggingLevel()->includes(
Level::Debug
);
}
// log file id set (file name prefix)
@@ -774,6 +773,13 @@ class Logging
public function setLogFlag(Flag $flag): void
{
$this->log_flags |= $flag->value;
// init per run uid
if ($this->getLogFlag(Flag::per_run)) {
$this->setLogUniqueId();
} elseif ($this->getLogFlag(Flag::per_date)) {
// init file date
$this->setLogDate();
}
}
/**
@@ -925,9 +931,9 @@ class Logging
array $context = []
): bool {
return $this->writeErrorMsg(
$this->log_level,
Level::Debug,
$this->prepareLog(
Level::Debug->getName(),
Level::Debug,
$prefix . $message,
$context,
$group_id
@@ -948,7 +954,7 @@ class Logging
return $this->writeErrorMsg(
Level::Info,
$this->prepareLog(
Level::Info->getName(),
Level::Info,
$message,
$context,
)
@@ -967,7 +973,7 @@ class Logging
return $this->writeErrorMsg(
Level::Notice,
$this->prepareLog(
Level::Notice->getName(),
Level::Notice,
$message,
$context,
)
@@ -986,7 +992,7 @@ class Logging
return $this->writeErrorMsg(
Level::Warning,
$this->prepareLog(
Level::Warning->getName(),
Level::Warning,
$message,
$context,
)
@@ -1005,7 +1011,7 @@ class Logging
return $this->writeErrorMsg(
Level::Error,
$this->prepareLog(
Level::Error->getName(),
Level::Error,
$message,
$context,
)
@@ -1024,7 +1030,7 @@ class Logging
return $this->writeErrorMsg(
Level::Critical,
$this->prepareLog(
Level::Critical->getName(),
Level::Critical,
$message,
$context,
)
@@ -1043,7 +1049,7 @@ class Logging
return $this->writeErrorMsg(
Level::Alert,
$this->prepareLog(
Level::Alert->getName(),
Level::Alert,
$message,
$context,
)
@@ -1062,7 +1068,7 @@ class Logging
return $this->writeErrorMsg(
Level::Emergency,
$this->prepareLog(
Level::Emergency->getName(),
Level::Emergency,
$message,
$context,
)
@@ -1080,12 +1086,12 @@ class Logging
* But this does not wrap it in <pre></pre>
* Do not use this without using it in a string in debug function
*
* @param array<mixed> $a Array to format
* @return string print_r formated
* @param mixed $data Data to format
* @return string print_r formated
*/
public function prAr(array $a): string
public function prAr(mixed $data): string
{
return Support::printArray($a, true);
return Support::printArray($data, true);
}
/**

View File

@@ -232,13 +232,13 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
/** @var string */
public string $col_name; // the name of the columen (before _<type>) [used for order button]
/** @var int */
public int $yes; // the yes flag that triggers the template to show ALL and not only new/load
public int $yes = 0; // the yes flag that triggers the template to show ALL and not only new/load
/** @var string */
public string $msg; // the error msg
public string $msg = ''; // the error msg
/** @var int */
public int $error; // the error flag set for printing red error msg
public int $error = 0; // the error flag set for printing red error msg
/** @var int */
public int $warning; // warning flag, for information (saved, loaded, etc)
public int $warning = 0; // warning flag, for information (saved, loaded, etc)
/** @var string */
public string $archive_pk_name; // the pk name for the load select form
/** @var string */
@@ -282,7 +282,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
public array $login_acl = [];
// layout publics
/** @var int */
public int $table_width;
public int $table_width = 0;
// internal lang & encoding vars
/** @var string */
public string $lang_dir = '';

View File

@@ -77,79 +77,79 @@ class SmartyExtend extends \Smarty
public string $COMPILE_ID = '';
// template vars
/** @var string */
public string $MASTER_TEMPLATE_NAME;
public string $MASTER_TEMPLATE_NAME = '';
/** @var string */
public string $PAGE_FILE_NAME;
public string $PAGE_FILE_NAME = '';
/** @var string */
public string $CONTENT_INCLUDE;
public string $CONTENT_INCLUDE = '';
/** @var string */
public string $FORM_NAME;
public string $FORM_NAME = '';
/** @var string */
public string $FORM_ACTION;
public string $FORM_ACTION = '';
/** @var string */
public string $L_TITLE;
public string $L_TITLE = '';
/** @var string|int */
public string|int $PAGE_WIDTH;
// smarty include/set var
/** @var string */
public string $TEMPLATE_PATH;
public string $TEMPLATE_PATH = '';
/** @var string */
public string $TEMPLATE_NAME;
public string $TEMPLATE_NAME = '';
/** @var string */
public string $INC_TEMPLATE_NAME;
public string $INC_TEMPLATE_NAME = '';
/** @var string */
public string $JS_TEMPLATE_NAME;
public string $JS_TEMPLATE_NAME = '';
/** @var string */
public string $CSS_TEMPLATE_NAME;
public string $CSS_TEMPLATE_NAME = '';
/** @var string|null */
public string|null $TEMPLATE_TRANSLATE;
/** @var string|null */
public string|null $JS_TRANSLATE;
// core group
/** @var string */
public string $JS_CORE_TEMPLATE_NAME;
public string $JS_CORE_TEMPLATE_NAME = '';
/** @var string */
public string $CSS_CORE_TEMPLATE_NAME;
public string $CSS_CORE_TEMPLATE_NAME = '';
/** @var string */
public string $JS_CORE_INCLUDE;
public string $JS_CORE_INCLUDE = '';
/** @var string */
public string $CSS_CORE_INCLUDE;
public string $CSS_CORE_INCLUDE = '';
// local names
/** @var string */
public string $JS_SPECIAL_TEMPLATE_NAME = '';
/** @var string */
public string $CSS_SPECIAL_TEMPLATE_NAME = '';
/** @var string */
public string $JS_INCLUDE;
public string $JS_INCLUDE = '';
/** @var string */
public string $CSS_INCLUDE;
public string $CSS_INCLUDE = '';
/** @var string */
public string $JS_SPECIAL_INCLUDE;
public string $JS_SPECIAL_INCLUDE = '';
/** @var string */
public string $CSS_SPECIAL_INCLUDE;
public string $CSS_SPECIAL_INCLUDE = '';
/** @var string */
public string $ADMIN_JAVASCRIPT;
public string $ADMIN_JAVASCRIPT = '';
/** @var string */
public string $ADMIN_STYLESHEET;
public string $ADMIN_STYLESHEET = '';
/** @var string */
public string $FRONTEND_JAVASCRIPT;
public string $FRONTEND_JAVASCRIPT = '';
/** @var string */
public string $FRONTEND_STYLESHEET;
public string $FRONTEND_STYLESHEET = '';
// other smarty folder vars
/** @var string */
public string $INCLUDES;
public string $INCLUDES = '';
/** @var string */
public string $JAVASCRIPT;
public string $JAVASCRIPT = '';
/** @var string */
public string $CSS;
public string $CSS = '';
/** @var string */
public string $FONT;
public string $FONT = '';
/** @var string */
public string $PICTURES;
public string $PICTURES = '';
/** @var string */
public string $CACHE_PICTURES;
public string $CACHE_PICTURES = '';
/** @var string */
public string $CACHE_PICTURES_ROOT;
public string $CACHE_PICTURES_ROOT = '';
// constructor class, just sets the language stuff
/**
@@ -373,7 +373,7 @@ class SmartyExtend extends \Smarty
// check for template include
if (
$this->USE_INCLUDE_TEMPLATE === true &&
!$this->TEMPLATE_NAME
empty($this->TEMPLATE_NAME)
) {
$this->TEMPLATE_NAME = $this->CONTENT_INCLUDE;
// add to cache & compile id
@@ -390,7 +390,7 @@ class SmartyExtend extends \Smarty
exit('MASTER TEMPLATE: ' . $this->MASTER_TEMPLATE_NAME . ' could not be found');
}
if (
$this->TEMPLATE_NAME &&
!empty($this->TEMPLATE_NAME) &&
!file_exists($this->getTemplateDir()[0] . DIRECTORY_SEPARATOR . $this->TEMPLATE_NAME)
) {
exit('INCLUDE TEMPLATE: ' . $this->TEMPLATE_NAME . ' could not be found');
@@ -418,7 +418,12 @@ class SmartyExtend extends \Smarty
}
}
// if we can't find it, dump it
if (!file_exists($this->getTemplateDir()[0] . DIRECTORY_SEPARATOR . $this->TEMPLATE_TRANSLATE)) {
if (
!file_exists(
$this->getTemplateDir()[0] . DIRECTORY_SEPARATOR
. $this->TEMPLATE_TRANSLATE
)
) {
$this->TEMPLATE_TRANSLATE = null;
}
if (empty($this->JS_TRANSLATE)) {

View File

@@ -99,7 +99,6 @@ final class CoreLibsDBIOTest extends TestCase
],
];
private static $log;
private static bool $db_debug = false;
/**
* Test if pgsql module loaded
@@ -123,7 +122,6 @@ final class CoreLibsDBIOTest extends TestCase
'log_file_id' => 'CoreLibs-DB-IO-Test',
]);
// will be true, default logging is true
self::$db_debug = self::$log->getLoggingLevel()->includes(Level::Debug);
$db = new \CoreLibs\DB\IO(
self::$db_config['valid'],
self::$log
@@ -521,6 +519,9 @@ final class CoreLibsDBIOTest extends TestCase
*/
public function debugSetProvider(): array
{
// 0: db connecdtion
// 1: override log flag, null for default
// 2: set flag
return [
'default debug set' => [
// what base connection
@@ -538,95 +539,46 @@ final class CoreLibsDBIOTest extends TestCase
];
}
/**
* test set for toggleDEbug
*
* @return array
*/
public function debugToggleProvider(): array
{
return [
'default debug set' => [
// what base connection
'valid',
// actions
null,
// toggle is inverse
self::$db_debug ? true : false,
],
'toggle debug to false' => [
'valid',
false,
false,
]
];
}
/**
* Test dbSetDbug, dbGetDebug
*
* @covers ::dbGetDbug
* @covers ::dbSetDebug
* @dataProvider debugSetProvider
* @testdox Setting debug $set will be $expected [$_dataName]
* @testdox Set and Get Debug flag
*
* @return void
*/
public function testDbSetDebug(
string $connection,
?bool $set,
bool $expected
): void {
public function testDbSetDebug(): void
{
$connection = 'valid';
// default set, expect true
$db = new \CoreLibs\DB\IO(
self::$db_config[$connection],
self::$log
);
echo "Expected: " . self::$db_debug . "\n";
$this->assertEquals(
$expected,
$set === null ?
$db->dbSetDebug() :
$db->dbSetDebug($set)
$this->assertTrue(
$db->dbGetDebug()
);
// must always match
$this->assertEquals(
$expected,
// switch off
$db->dbSetDebug(false);
$this->assertFalse(
$db->dbGetDebug()
);
$db->dbClose();
}
/**
* Test dbToggleDebug, dbGetDebug
*
* @covers ::dbGetDbug
* @covers ::dbSetDebug
* @dataProvider debugToggleProvider
* @testdox Toggle debug $toggle will be $expected [$_dataName]
*
* @return void
*/
public function testDbToggleDebug(
string $connection,
?bool $toggle,
bool $expected
): void {
// second conenction with log set NOT debug
$log = new \CoreLibs\Logging\Logging([
// 'log_folder' => __DIR__ . DIRECTORY_SEPARATOR . 'log',
'log_folder' => DIRECTORY_SEPARATOR . 'tmp',
'log_file_id' => 'CoreLibs-DB-IO-Test',
'log_level' => \CoreLibs\Logging\Logger\Level::Notice,
]);
$db = new \CoreLibs\DB\IO(
self::$db_config[$connection],
self::$log
$log
);
$this->assertEquals(
$expected,
$toggle === null ?
$db->dbToggleDebug() :
$db->dbToggleDebug($toggle)
);
// must always match
$this->assertEquals(
$expected,
$this->assertFalse(
$db->dbGetDebug()
);
$db->dbClose();
}
// - set max query call sets

View File

@@ -460,16 +460,18 @@ final class CoreLibsDebugSupportTest extends TestCase
* Undocumented function
*
* @cover ::getCallerFileLine
* @testWith ["/storage/var/www/html/developers/clemens/core_data/php_libraries/trunk/www/vendor/phpunit/phpunit/src/Framework/TestCase.php:1608"]
* @testdox getCallerFileLine check if it returns $expected [$_dataName]
* @testWith ["vendor/phpunit/phpunit/src/Framework/TestCase.php:"]
* @testdox getCallerFileLine check based on regex /[\w\-\/]/vendor/phpunit/phpunit/src/Framework/TestCase.php:\d+ [$_dataName]
*
* @param string $expected
* @return void
*/
public function testGetCallerFileLine(string $expected): void
public function testGetCallerFileLine(): void
{
$this->assertEquals(
$expected,
// regex prefix with path "/../" and then fixed vendor + \d+
$regex = "/^\/[\w\-\/]+\/vendor\/phpunit\/phpunit\/src\/Framework\/TestCase.php:\d+$/";
$this->assertMatchesRegularExpression(
$regex,
Support::getCallerFileLine()
);
}
@@ -518,11 +520,17 @@ final class CoreLibsDebugSupportTest extends TestCase
break;
case 11:
// add one "run" before "runBare"
// array_splice(
// $expected,
// 7,
// 0,
// ['run']
// );
array_splice(
$expected,
7,
0,
['run']
0,
['include']
);
$this->assertEquals(
$expected,

View File

@@ -20,10 +20,15 @@ final class CoreLibsLoggingLoggingTest extends TestCase
private const LOG_FOLDER = __DIR__ . DIRECTORY_SEPARATOR . 'log' . DIRECTORY_SEPARATOR;
private const REGEX_BASE = "\[[\d\-\s\.:]+\]\s{1}" // date
. "\[[\w\.]+(:\d+)?\]\s{1}" // host:port
. "\[[\w+\.\/]+:\d+\]\s{1}" // folder/file
. "\[[\w\-\.\/]+:\d+\]\s{1}" // folder/file
. "\[\w+\]\s{1}" // run id
. "{[\w\\\\]+(::\w+)?}\s{1}"; // class
public static function tearDownAfterClass(): void
{
array_map('unlink', glob(self::LOG_FOLDER . '*.log'));
}
/**
* test set for options BASIC
*
@@ -217,14 +222,14 @@ final class CoreLibsLoggingLoggingTest extends TestCase
// setLoggingLevel
// getLoggingLevel
// getJsDebug
// loggingLevelIsDebug
/**
* Undocumented function
*
* @covers ::setLoggingLevel
* @covers ::getLoggingLevel
* @covers ::getJsDebug
* @covers ::loggingLevelIsDebug
* @testdox setLoggingLevel set/get checks
*
* @return void
@@ -242,7 +247,7 @@ final class CoreLibsLoggingLoggingTest extends TestCase
$log->getLoggingLevel()
);
$this->assertFalse(
$log->getJsDebug()
$log->loggingLevelIsDebug()
);
// not set, should be debug]
$log = new \CoreLibs\Logging\Logging([
@@ -254,7 +259,7 @@ final class CoreLibsLoggingLoggingTest extends TestCase
$log->getLoggingLevel()
);
$this->assertTrue(
$log->getJsDebug()
$log->loggingLevelIsDebug()
);
// invalid, should be debug, will throw excpetion too
$this->expectException(\InvalidArgumentException::class);
@@ -269,7 +274,7 @@ final class CoreLibsLoggingLoggingTest extends TestCase
$log->getLoggingLevel()
);
$this->assertTrue(
$log->getJsDebug()
$log->loggingLevelIsDebug()
);
// set valid, then change
$log = new \CoreLibs\Logging\Logging([
@@ -791,6 +796,13 @@ final class CoreLibsLoggingLoggingTest extends TestCase
);
}
// must test flow:
// init normal
// log -> check file name
// set per date
// log -> check file name
// and same for per_run
// deprecated calls check?
}