Compare commits

...

4 Commits

Author SHA1 Message Date
Clemens Schwaighofer
86acbbb85b Per run logging was not set if flag changed
if setFlag was set for per_run or per_date the init values where not set

Fixed that on setFlag it is checked if we have per_date or per_run and
then set if not set.

Not that for date, set the flag will set a new date, for per run no.
2023-06-02 17:38:09 +09:00
Clemens Schwaighofer
8e0af7a5f7 Class var init fixes 2023-06-01 13:03:46 +09:00
Clemens Schwaighofer
b022662dfc Removed restrictions for printAr to only accept arrays
print_r call takes any value, changed that for all functions

array -> mixed
2023-06-01 12:00:20 +09:00
Clemens Schwaighofer
3039ebf913 Unlink files after test 2023-06-01 11:02:53 +09:00
6 changed files with 86 additions and 72 deletions

View File

@@ -24,6 +24,11 @@ final class CoreLibsLoggingLoggingTest extends TestCase
. "\[\w+\]\s{1}" // run id . "\[\w+\]\s{1}" // run id
. "{[\w\\\\]+(::\w+)?}\s{1}"; // class . "{[\w\\\\]+(::\w+)?}\s{1}"; // class
public static function tearDownAfterClass(): void
{
array_map('unlink', glob(self::LOG_FOLDER . '*.log'));
}
/** /**
* test set for options BASIC * test set for options BASIC
* *

View File

@@ -36,7 +36,7 @@ $log = new CoreLibs\Logging\Logging([
'log_per_date' => true, 'log_per_date' => true,
]); ]);
$PAGE_NAME = 'TEST CLASS: DEBUG LOGGING'; $PAGE_NAME = 'TEST CLASS: LOGGING';
print "<!DOCTYPE html>"; print "<!DOCTYPE html>";
print "<html><head><title>" . $PAGE_NAME . "</title><head>"; print "<html><head><title>" . $PAGE_NAME . "</title><head>";
print "<body>"; print "<body>";
@@ -44,12 +44,12 @@ print '<div><a href="class_test.php">Class Test Master</a></div>';
print '<div><h1>' . $PAGE_NAME . '</h1></div>'; print '<div><h1>' . $PAGE_NAME . '</h1></div>';
$log->logger2Debug(); $log->logger2Debug();
echo "<hr>";
print "Level 250: " . Level::fromValue(250)->getName() . "<br>"; print "Level 250: " . Level::fromValue(250)->getName() . "<br>";
print "Flag: per_run (from int): " . Flag::fromValue(2)->getName() . "<br>"; print "Flag: per_class (16) (from int): " . Flag::fromValue(16)->getName() . "<br>";
print "Flag: per_run getName(): " . Flag::per_class->getName() . "<br>"; print "Flag: per_class getName(): " . Flag::per_class->getName() . "<br>";
print "Flag: per_run ->name: " . Flag::per_class->name . "<br>"; print "Flag: per_class ->name: " . Flag::per_class->name . "<br>";
print "Flag: per_run ->value: " . Flag::per_class->value . "<br>"; print "Flag: per_class ->value: " . Flag::per_class->value . "<br>";
$log->setLogUniqueId(); $log->setLogUniqueId();
print "LogUniqId: " . $log->getLogUniqueId() . "<br>"; print "LogUniqId: " . $log->getLogUniqueId() . "<br>";
@@ -77,9 +77,13 @@ and > and <
EOM)); EOM));
$log->info('Info message', ['info' => 'log']); $log->info('Info message', ['info' => 'log']);
$log->error('Cannot process data', ['error' => 'log']); $log->error('Cannot process data', ['error' => 'log']);
print "Log File: " . $log->getLogFile() . "<br>"; print "Log File: " . $log->getLogFile() . "<br>";
$log->setLogFlag(Flag::per_run);
$log->debug('PER RUN', 'per run logging');
print "Log File: " . $log->getLogFile() . "<br>";
$log->unsetLogFlag(Flag::per_run);
// init empty // init empty
unset($LOG_FILE_ID); unset($LOG_FILE_ID);
$ll = new CoreLibs\Logging\Logging([ $ll = new CoreLibs\Logging\Logging([

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 mixed $data any data
* @param bool $no_html default add <pre> * @param bool $no_html default add <pre>
* @return string formatted array for output with <pre> tag added * @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 ? return $no_html ?
print_r($array, true) : print_r($data, true) :
'<pre>' . print_r($array, true) . '</pre>'; '<pre>' . print_r($data, true) . '</pre>';
} }
/** /**
* alternate name for printAr function * alternate name for printAr function
* *
* @param array<mixed> $array any array * @param mixed $data any array
* @param bool $no_html default add <pre> * @param bool $no_html default add <pre>
* @return string formatted array for output with <pre> tag added * @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 * Do not use this without using it in a string in debug function
* Note: for full data debug dumps use Support::dumpVar() * Note: for full data debug dumps use Support::dumpVar()
* *
* @param array<mixed> $a Array to format * @param mixed $data Data to print
* @return string print_r formated * @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);
} }
/** /**

View File

@@ -407,13 +407,6 @@ class Logging
} }
$this->setLogFlag($log_flag_key); $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');
}
} }
/** /**
@@ -776,6 +769,13 @@ class Logging
public function setLogFlag(Flag $flag): void public function setLogFlag(Flag $flag): void
{ {
$this->log_flags |= $flag->value; $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();
}
} }
/** /**
@@ -1082,12 +1082,12 @@ class Logging
* But this does not wrap it in <pre></pre> * But this does not wrap it in <pre></pre>
* Do not use this without using it in a string in debug function * Do not use this without using it in a string in debug function
* *
* @param array<mixed> $a Array to format * @param mixed $data Data to format
* @return string print_r formated * @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 */ /** @var string */
public string $col_name; // the name of the columen (before _<type>) [used for order button] public string $col_name; // the name of the columen (before _<type>) [used for order button]
/** @var int */ /** @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 */ /** @var string */
public string $msg; // the error msg public string $msg = ''; // the error msg
/** @var int */ /** @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 */ /** @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 */ /** @var string */
public string $archive_pk_name; // the pk name for the load select form public string $archive_pk_name; // the pk name for the load select form
/** @var string */ /** @var string */
@@ -282,7 +282,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
public array $login_acl = []; public array $login_acl = [];
// layout publics // layout publics
/** @var int */ /** @var int */
public int $table_width; public int $table_width = 0;
// internal lang & encoding vars // internal lang & encoding vars
/** @var string */ /** @var string */
public string $lang_dir = ''; public string $lang_dir = '';

View File

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