humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | Changelog

getLogByIdFromSQLite

getLogByIdFromSQLite($id); - Get log entry by ID

Функция на вход принимает параметры:

  • $id – Log entry ID

    После выполнения функции возвращаемое значение будет равно одному из двух :
  • результат – Log entry in JSON format or empty string on error
  • пусто / null – ошибка

    Пример использования
    # 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.getLogByIdFromSQLite</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 log entry by existing ID (ID=1): ")
    logEntry = logger.getLogByIdFromSQLite(1)
    if logEntry:
    	echo("вњ“ Success: ")
    	echo(logEntry, "\n\n")
    else:
    	echo("вњ— Failed\n\n")
    
    # 2
    echo("2. Getting log entry by ID=5: ")
    logEntry = logger.getLogByIdFromSQLite(5)
    if logEntry:
    	echo("вњ“ Success: ")
    	echo(logEntry, "\n\n")
    else:
    	echo("вњ— Failed\n\n")
    
    # 3
    echo("3. Getting log entry by non-existing ID (ID=999999): ")
    logEntry = logger.getLogByIdFromSQLite(999999)
    if logEntry is None:
    	echo("вњ“ Success: entry not found\n\n")
    else:
    	echo("вњ— Failed: should be None\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.getLogByIdFromSQLite</font><hr>");
    
    		echo("0. Initialize logger and add test log: ");
    		bool initResult = logger.init(0, true, true, "", "test\\logger_test.db");
    		if(initResult)
    			echo("вњ“ Init successful<br>");
    		else
    			echo("вњ— Init failed<br>");
    
    		echo("0.1. Add test log entry: ");
    		bool addResult = logger.addLogToSQLite(2, "Test log for ID retrieval", "{\"test\":\"data\"}", "TestCaller");
    		if(addResult)
    			echo("вњ“ Test log added<br>");
    		else
    			echo("вњ— Failed to add test log<br>");
    
    		// 1 step
    		echo("\n1. Get log entry by valid ID (ID=1): ");
    		object log1 = logger.getLogByIdFromSQLite(1);
    		if(log1 != null)
    			echo("вњ“ Retrieved log by ID 1<br>");
    		else
    			echo("вњ— Failed to retrieve log by ID 1<br>");
    
    		// 2 step
    		echo("\n2. Get log entry by invalid ID (ID=99999): ");
    		object log2 = logger.getLogByIdFromSQLite(99999);
    		if(log2 == null)
    			echo("вњ“ Correctly returned null for invalid ID<br>");
    		else
    			echo("вњ— Should return null for invalid ID<br>");
    
    		// 3 step
    		echo("\n3. Get log entry by ID 2: ");
    		object log3 = logger.getLogByIdFromSQLite(2);
    		if(log3 != null)
    			echo("вњ“ Retrieved log by ID 2<br>");
    		else
    			echo("вњ— Failed to retrieve log by ID 2<br>");
    
    		// 4 step
    		echo("\n4. Verify returned JSON structure: ");
    		if(log1 != null)
    		{
    			try {
    				var json = log1.ToString();
    				if(json.Contains("\"") && (json.Contains("logLevel") || json.Contains("message")))
    					echo("вњ“ JSON structure is valid<br>");
    				else
    					echo("вњ— Invalid JSON structure<br>");
    			} catch {
    				echo("вњ— JSON parsing error<br>");
    			}
    		}
    		else
    			echo("вњ— No log data to verify<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, "Test message for ID retrieval", "{\"test\":\"data\"}", "TestCaller");
    	
    	let logEntry = logger.getLogByIdFromSQLite(1);
    	if (logEntry !== null && typeof logEntry === "object")
    		console.log("вњ“ Test 1: Get log by ID 1 - PASSED");
    	else
    		console.log("вњ— Test 1: Get log by ID 1 - FAILED");
    	
    	logEntry = logger.getLogByIdFromSQLite(99999);
    	if (logEntry === null)
    		console.log("вњ“ Test 2: Get log by invalid ID returns null - PASSED");
    	else
    		console.log("вњ— Test 2: Get log by invalid ID returns null - FAILED");
    }
    
    main();

    =============================================
    logger    Объекты    DOM  System  Vision  Web  Window        
    =============================================
    если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
    .