humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
Changelog
getTotalLogCountFromSQLite
getTotalLogCountFromSQLite($startDateStr='',$endDateStr=''); - Get total count of log entriesФункция на вход принимает параметры:
После выполнения функции возвращаемое значение будет равно одному из двух :
Пример использования
<?php // Test: getTotalLogCountFromSQLite 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_gettotallogcount.db"; echo "\n"; echo "Initializing logger with SQLite DB...\n"; echo "Initializing logger with parameters:\n"; $minLogLevel = LogLevel::DEBUG; echo "- Min Log Level: DEBUG (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: getTotalLogCountFromSQLite method:\n"; $testData = (object) ['test_key' => 'test_value']; SYSTEM::$logger->info("Test message 1", $testData, 'count_total_test'); SYSTEM::$logger->info("Test message 2", $testData, 'count_total_test'); SYSTEM::$logger->info("Test message 3", $testData, 'count_total_test'); SYSTEM::$logger->info("Test message 4", $testData, 'count_total_test'); SYSTEM::$logger->info("Test message 5", $testData, 'count_total_test'); sleep(1); $totalCountNoPeriod = SYSTEM::$logger->getTotalLogCountFromSQLite(); echo "Тест #1. Total count (no period): $totalCountNoPeriod (expected: 5) " . (($totalCountNoPeriod !== null && $totalCountNoPeriod >= 5) ? "✓" : "✗") . "\n"; $today = date('d.m.Y'); $yesterday = date('d.m.Y', strtotime('-1 day')); $totalCountToday = SYSTEM::$logger->getTotalLogCountFromSQLite($today, $today); echo "Тест #2. Total count for today ($today): $totalCountToday (expected: 5) " . (($totalCountToday !== null && $totalCountToday >= 5) ? "✓" : "✗") . "\n"; $totalCountYesterday = SYSTEM::$logger->getTotalLogCountFromSQLite($yesterday, $yesterday); echo "Тест #3. Total count for yesterday ($yesterday): $totalCountYesterday (expected: 0) " . (($totalCountYesterday !== null && $totalCountYesterday === 0) ? "✓" : "✗") . "\n"; $lastWeek = date('d.m.Y', strtotime('-7 days')); $totalCountWeek = SYSTEM::$logger->getTotalLogCountFromSQLite($lastWeek, $today); echo "Тест #4. Total count for last 7 days: $totalCountWeek (expected: 5) " . (($totalCountWeek !== null && $totalCountWeek >= 5) ? "✓" : "✗") . "\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.getTotalLogCountFromSQLite</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 total count of logs (without period): ") count = logger.getTotalLogCountFromSQLite() if count >= 0: echo("вњ“ Success: total count - " + str(count) +"\n\n") else: echo("вњ— Failed\n\n") # 2 echo("2. Getting total count of logs for period (01.01.2024 - 31.12.2025): ") count = logger.getTotalLogCountFromSQLite("01.01.2024", "31.12.2025") if count >= 0: echo("вњ“ Success: total count - " + str(count) +"\n\n") else: echo("вњ— Failed\n\n") # 3 echo("3. Getting total count of logs for short period: ") count = logger.getTotalLogCountFromSQLite("01.01.2024", "01.01.2024") if count >= 0: echo("вњ“ Success: total count - " + str(count) +"\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.getTotalLogCountFromSQLite</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 total log count: "); int count1 = logger.getTotalLogCountFromSQLite(); if(count1 >= 0) echo("вњ“ Total logs: " + count1 + "<br>"); else echo("вњ— Failed to get total log count<br>"); // 2 step echo("\n2. Get total logs for current month: "); string firstDay = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).ToString("dd.MM.yyyy"); string today = DateTime.Now.ToString("dd.MM.yyyy"); int count2 = logger.getTotalLogCountFromSQLite(firstDay, today); if(count2 >= 0) echo("вњ“ Logs for current month: " + count2 + "<br>"); else echo("вњ— Failed to get logs for current month<br>"); // 3 step echo("\n3. Get total logs for specific date range (last 7 days): "); string weekAgo = DateTime.Now.AddDays(-7).ToString("dd.MM.yyyy"); int count3 = logger.getTotalLogCountFromSQLite(weekAgo, today); if(count3 >= 0) echo("вњ“ Logs for last 7 days: " + count3 + "<br>"); else echo("вњ— Failed to get logs for last 7 days<br>"); // 4 step echo("\n4. Get total logs without date filter: "); int count4 = logger.getTotalLogCountFromSQLite("", ""); if(count4 >= 0) echo("вњ“ Total logs without filter: " + count4 + "<br>"); else echo("вњ— Failed to get total logs without filter<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, "Message 1", "{\"test\":\"data1\"}", "Caller1"); logger.addLogToSQLite(2, "Message 2", "{\"test\":\"data2\"}", "Caller2"); logger.addLogToSQLite(3, "Message 3", "{\"test\":\"data3\"}", "Caller3"); let totalCount = logger.getTotalLogCountFromSQLite("", ""); if (totalCount >= 3) console.log("вњ“ Test 1: Get total log count without period filter - PASSED"); else console.log("вњ— Test 1: Get total log count without period filter - FAILED"); totalCount = logger.getTotalLogCountFromSQLite("01.01.2020", "31.12.2030"); if (totalCount >= 0) console.log("вњ“ Test 2: Get total log count with period filter - PASSED"); else console.log("вњ— Test 2: Get total log count with period filter - FAILED"); logger.addLogToSQLite(1, "Debug message", "{\"debug\":\"data\"}", "Caller4"); logger.addLogToSQLite(4, "Error message", "{\"error\":\"data\"}", "Caller5"); totalCount = logger.getTotalLogCountFromSQLite("", ""); if (totalCount >= 5) console.log("вњ“ Test 3: Get total log count after adding more logs - PASSED"); else console.log("вњ— Test 3: Get total log count after adding more logs - FAILED"); totalCount = logger.getTotalLogCountFromSQLite("01.01.1900", "01.01.2000"); if (totalCount >= 0) console.log("вњ“ Test 4: Get total log count with empty period - PASSED"); else console.log("вњ— Test 4: Get total log count with empty period - FAILED"); } main();
=============================================
logger Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.