humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
Changelog
getLogsByLevelFromSQLite
getLogsByLevelFromSQLite($logLevelCode,$startDateStr='',$endDateStr='',$offset=0,$pageSize=100); - Get log entries by level with period and paginationФункция на вход принимает параметры:
После выполнения функции возвращаемое значение будет равно одному из двух :
Пример использования
<?php // Test: getLogsByLevelFromSQLite method $xhe_host = getenv("RPABOT_HOST_URL"); if (!isset($path)){ $path = "../../../Templates/init.php"; require($path); } echo "\n<span >logger->" . basename(__FILE__) . "</span>\n"; $dbPath = __DIR__ . "/logs/test_getlogsbylevel.db"; echo "\n"; echo "Initializing logger with SQLite DB...\n"; echo "Initializing logger with parameters:\n"; $minLogLevel = LogLevel::TRACE; echo "- Min Log Level: TRACE (value: $minLogLevel)\n"; $phpUseThroughShell = true; echo "- PHP Use Through Shell: " . ($phpUseThroughShell ? "true" : "false") . "\n"; $writeLogToLogPanel = false; echo "- Write Log To Log Panel: " . ($writeLogToLogPanel ? "true" : "false") . "\n"; $logFilePath = ""; echo "- Log File Path: ''\n"; $logSQLiteDbFilePath = $dbPath; echo "- Log SQLite DB Path: '$logSQLiteDbFilePath'\n"; echo "- Date Time Format: d-M-yyyy HH:mm:ss (default)\n"; echo "- Localization Code: en (default)\n"; echo "- Need Text Transliteration: false (default)\n"; SYSTEM::$logger->init($minLogLevel, $phpUseThroughShell, $writeLogToLogPanel, $logFilePath, $logSQLiteDbFilePath); echo "Logger initialized with SQLite DB: $dbPath\n"; echo "\n\n"; echo "Test: getLogsByLevelFromSQLite method:\n"; $testData = (object) ['test_key' => 'test_value']; SYSTEM::$logger->trace("This is a trace message", $testData, 'level_test'); SYSTEM::$logger->debug("This is a debug message", $testData, 'level_test'); SYSTEM::$logger->info("This is an info message", $testData, 'level_test'); SYSTEM::$logger->warn("This is a warning message", $testData, 'level_test'); SYSTEM::$logger->error("This is an error message", $testData, 'level_test'); SYSTEM::$logger->critical("This is a critical message", $testData, 'level_test'); sleep(1); $traceLogs = SYSTEM::$logger->getLogsByLevelFromSQLite(0); $traceLogsCount = ($traceLogs !== null) ? count($traceLogs) : 0; echo "Тест #1. TRACE level logs: $traceLogsCount (expected: 1) " . ($traceLogsCount >= 1 ? "✓" : "✗") . "\n"; $debugLogs = SYSTEM::$logger->getLogsByLevelFromSQLite(1); $debugLogsCount = ($debugLogs !== null) ? count($debugLogs) : 0; echo "Тест #2. DEBUG level logs: $debugLogsCount (expected: 1) " . ($debugLogsCount >= 1 ? "✓" : "✗") . "\n"; $logsByLevel = SYSTEM::$logger->getLogsByLevelFromSQLite(2); $logsByLevelCount = ($logsByLevel !== null) ? count($logsByLevel) : 0; echo "Тест #3. INFO level logs: $logsByLevelCount (expected: 1) " . ($logsByLevelCount >= 1 ? "✓" : "✗") . "\n"; if ($logsByLevelCount > 0) { $firstLog = $logsByLevel[0]; echo "First log: ID=$firstLog->id, Timestamp=$firstLog->timestamp, Message=$firstLog->message\n"; } $warnLogs = SYSTEM::$logger->getLogsByLevelFromSQLite(3); $warnLogsCount = ($warnLogs !== null) ? count($warnLogs) : 0; echo "Тест #4. WARNING level logs: $warnLogsCount (expected: 1) " . ($warnLogsCount >= 1 ? "✓" : "✗") . "\n"; $errorLogs = SYSTEM::$logger->getLogsByLevelFromSQLite(4); $errorLogsCount = ($errorLogs !== null) ? count($errorLogs) : 0; echo "Тест #5. ERROR level logs: $errorLogsCount (expected: 1) " . ($errorLogsCount >= 1 ? "✓" : "✗") . "\n"; $criticalLogs = SYSTEM::$logger->getLogsByLevelFromSQLite(5); $criticalLogsCount = ($criticalLogs !== null) ? count($criticalLogs) : 0; echo "Тест #6. CRITICAL level logs: $criticalLogsCount (expected: 1) " . ($criticalLogsCount >= 1 ? "✓" : "✗") . "\n"; $invalidLevelLogs = SYSTEM::$logger->getLogsByLevelFromSQLite(999); $invalidLevelLogsCount = ($invalidLevelLogs !== null) ? count($invalidLevelLogs) : 0; echo "Тест #7. Invalid level 999 logs: $invalidLevelLogsCount (expected: 0) " . ($invalidLevelLogsCount === 0 ? "✓" : "✗") . "\n"; echo "\n✓ Test completed successfully!\n"; echo "\n"; WINDOW::$app->quit();
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:7019" from xweb_human_emulator import * # start echo("<hr><font color=blue>logger.getLogsByLevelFromSQLite</font><hr>") echo("Initializing logger using SQLite for log storage: ") if logger.init(logSQLiteDbFilePath = debug.get_cur_script_folder() + "/logs/logger.db"): echo("вњ“ Success\n\n") else: echo("вњ— Failed\n\n") # 1 echo("1. Getting all info logs (level=2) without date filter: ") logs = logger.getLogsByLevelFromSQLite(2) if logs: echo("вњ“ Success: found entries - " + str(len(logs)) + "\n\n") else: echo("вњ— Failed\n\n") # 2 echo("2. Getting error logs (level=4) with pagination (offset=0, pageSize=5): ") logs = logger.getLogsByLevelFromSQLite(4, offset=0, pageSize=5) if logs: echo("вњ“ Success: retrieved entries - " + str(len(logs)) + "\n\n") else: echo("вњ— Failed\n\n") # 3 echo("3. Getting trace logs (level=0) without pagination: ") logs = logger.getLogsByLevelFromSQLite(0, offset=0, pageSize=100) if logs: echo("вњ“ Success: found entries - " + str(len(logs)) + "\n\n") else: echo("вњ— Failed\n\n") # end echo("\n") app.quit()
#region using using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; using System.Threading; using XHE; using XHE.XHE_DOM; using XHE.XHE_System; using XHE.XHE_Window; using XHE.XHE_Web; #endregion class Program:XHEScript { static void Main(string[] args) { server = Environment.GetEnvironmentVariable("RPABOT_HOST_URL"); InitXHE(); echo("<hr><font color=blue>logger.getLogsByLevelFromSQLite</font><hr>"); echo("0. Initialize logger: "); bool initResult = logger.init(0, true, true, "", "test\\logger_test.db"); if(initResult) echo("вњ“ Init successful<br>"); else echo("вњ— Init failed<br>"); // 1 step echo("\n1. Get all info level logs (level=2): "); object logs1 = logger.getLogsByLevelFromSQLite(2); if(logs1 != null) echo("вњ“ Retrieved info level logs<br>"); else echo("вњ— Failed to retrieve info logs<br>"); // 2 step echo("\n2. Get error logs with date range (today): "); string today = DateTime.Now.ToString("dd.MM.yyyy"); object logs2 = logger.getLogsByLevelFromSQLite(4, today, today); if(logs2 != null) echo("вњ“ Retrieved error logs for today<br>"); else echo("вњ— Failed to retrieve error logs with date range<br>"); // 3 step echo("\n3. Get warning logs with pagination (offset=0, pageSize=10): "); object logs3 = logger.getLogsByLevelFromSQLite(3, "", "", 0, 10); if(logs3 != null) echo("вњ“ Retrieved warning logs with pagination<br>"); else echo("вњ— Failed to retrieve warning logs with pagination<br>"); // 4 step echo("\n4. Get trace logs with custom page size (pageSize=5): "); object logs4 = logger.getLogsByLevelFromSQLite(0, "", "", 0, 5); if(logs4 != null) echo("вњ“ Retrieved trace logs with page size 5<br>"); else echo("вњ— Failed to retrieve trace logs with custom page size<br>"); echo("\n\n"); app.quit(); } }
const xhe_host = "127.0.0.1:7019"; require("../../../Templates JS/init.js"); const path = require("path"); async function main() { const dbPath = path.join(__dirname, "/logs/test_logger.db"); logger.init(1, true, true, "", dbPath, "d-m-Y H:i:s", "en", false, true); logger.addLogToSQLite(2, "Info message 1", "{\"test\":\"data1\"}", "Caller1"); logger.addLogToSQLite(2, "Info message 2", "{\"test\":\"data2\"}", "Caller2"); logger.addLogToSQLite(2, "Info message 3", "{\"test\":\"data3\"}", "Caller3"); let logs = logger.getLogsByLevelFromSQLite(2, "", "", 0, 100); if (logs !== null && Array.isArray(logs) && logs.length >= 3) console.log("вњ“ Test 1: Get logs by level 2 (Info) - PASSED"); else console.log("вњ— Test 1: Get logs by level 2 (Info) - FAILED"); logger.addLogToSQLite(1, "Debug message", "{\"debug\":\"data\"}", "Caller4"); logs = logger.getLogsByLevelFromSQLite(1, "", "", 0, 100); if (logs !== null && Array.isArray(logs) && logs.length >= 1) console.log("вњ“ Test 2: Get logs by level 1 (Debug) - PASSED"); else console.log("вњ— Test 2: Get logs by level 1 (Debug) - FAILED"); logs = logger.getLogsByLevelFromSQLite(2, "", "", 0, 2); if (logs !== null && Array.isArray(logs) && logs.length <= 2) console.log("вњ“ Test 3: Get logs by level with page size limit - PASSED"); else console.log("вњ— Test 3: Get logs by level with page size limit - FAILED"); logs = logger.getLogsByLevelFromSQLite(2, "", "", 1, 2); if (logs !== null && Array.isArray(logs)) console.log("вњ“ Test 4: Get logs by level with offset - PASSED"); else console.log("вњ— Test 4: Get logs by level with offset - FAILED"); } main();
=============================================
logger Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.