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

deleteLogsByPeriodFromSQLite

deleteLogsByPeriodFromSQLite($startDateStr='',$endDateStr=''); - Delete log entries by period (one or several days)

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

  • $startDateStr – Start date period (format: dd.MM.yyyy)
  • $endDateStr – End date period (format: dd.MM.yyyy)

    После выполнения функции возвращаемое значение будет равно одному из двух :
  • число (Number of deleted records or -1 on error)
  • -1 – ошибка

    Пример использования
    # 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.deleteLogsByPeriodFromSQLite</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. Attempting to delete logs for short period (01.01.1900 - 01.01.1900): ")
    deleted = logger.deleteLogsByPeriodFromSQLite("01.01.1900", "01.01.1900")
    if deleted >= 0:
    	echo("вњ“ Success: deleted entries " + str(deleted) + "\n\n")
    else:
    	echo("вњ— Failed\n\n")
    
    # 2
    echo("2. Deleting all logs (empty dates): ")
    deleted = logger.deleteLogsByPeriodFromSQLite("", "")
    if deleted >= 0:
    	echo("вњ“ Success: deleted entries " + str(deleted) + "\n\n")
    else:
    	echo("вњ— Failed\n\n")
    
    # 3
    echo("3. Attempting to delete logs for future period: ")
    deleted = logger.deleteLogsByPeriodFromSQLite("01.01.2050", "01.01.2050")
    if deleted >= 0:
    	echo("вњ“ Success: deleted entries " + str(deleted) + "\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.deleteLogsByPeriodFromSQLite</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>");
    
    		echo("0.1. Add test logs for deletion: ");
    		logger.addLogToSQLite(0, "Test log 1 for deletion", "{\"test\":1}", "DeleteTest");
    		logger.addLogToSQLite(0, "Test log 2 for deletion", "{\"test\":2}", "DeleteTest");
    		logger.addLogToSQLite(0, "Test log 3 for deletion", "{\"test\":3}", "DeleteTest");
    		echo("вњ“ Test logs added<br>");
    
    		// 1 step
    		echo("\n1. Delete logs for specific date range (today): ");
    		string today = DateTime.Now.ToString("dd.MM.yyyy");
    		int deleted1 = logger.deleteLogsByPeriodFromSQLite(today, today);
    		if(deleted1 >= 0)
    			echo("вњ“ Deleted " + deleted1 + " logs for today<br>");
    		else
    			echo("вњ— Failed to delete logs for today<br>");
    
    		echo("1.1. Add new test logs: ");
    		logger.addLogToSQLite(0, "New test log 1", "{\"test\":1}", "DeleteTest");
    		logger.addLogToSQLite(0, "New test log 2", "{\"test\":2}", "DeleteTest");
    		echo("вњ“ New test logs added<br>");
    
    		// 2 step
    		echo("\n2. Delete all logs: ");
    		int deleted2 = logger.deleteLogsByPeriodFromSQLite();
    		if(deleted2 >= 0)
    			echo("вњ“ Deleted " + deleted2 + " logs total<br>");
    		else
    			echo("вњ— Failed to delete all logs<br>");
    
    		// 3 step
    		echo("\n3. Verify deletion success (count should be 0): ");
    		int count = logger.getTotalLogCountFromSQLite();
    		if(count == 0)
    			echo("вњ“ All logs deleted successfully (count=0)<br>");
    		else
    			echo("вњ— Logs still exist (count=" + count + ")<br>");
    
    		echo("3.1. Add more test logs: ");
    		logger.addLogToSQLite(0, "Final test log 1", "{\"test\":1}", "DeleteTest");
    		logger.addLogToSQLite(0, "Final test log 2", "{\"test\":2}", "DeleteTest");
    		echo("вњ“ Final test logs added<br>");
    
    		// 4 step
    		echo("\n4. Delete logs and verify count returns 0: ");
    		int deleted4 = logger.deleteLogsByPeriodFromSQLite("", "");
    		int finalCount = logger.getTotalLogCountFromSQLite();
    		if(deleted4 >= 0 && finalCount == 0)
    			echo("вњ“ Deletion verified: " + deleted4 + " logs deleted, count=0<br>");
    		else
    			echo("вњ— Deletion verification failed<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_delete.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");
    	
    	var deletedCount = logger.deleteLogsByPeriodFromSQLite("01.01.1900", "31.12.2000");
    	if (deletedCount >= 0)
    		console.log("вњ“ Test 1: Delete logs by period with empty range - PASSED");
    	else
    		console.log("вњ— Test 1: Delete logs by period with empty range - FAILED");
    	
    	var initialCount = logger.getTotalLogCountFromSQLite("", "");
    	deletedCount = logger.deleteLogsByPeriodFromSQLite("", "");
    	if (deletedCount === initialCount || deletedCount >= 0)
    		console.log("вњ“ Test 2: Delete all logs without period - PASSED");
    	else
    		console.log("вњ— Test 2: Delete all logs without period - FAILED");
    	
    	logger.addLogToSQLite(2, "New message 1", "{\"test\":\"data1\"}", "Caller1");
    	logger.addLogToSQLite(2, "New message 2", "{\"test\":\"data2\"}", "Caller2");
    	logger.addLogToSQLite(3, "New message 3", "{\"test\":\"data3\"}", "Caller3");
    	
    	var countBeforeDelete = logger.getTotalLogCountFromSQLite("", "");
    	deletedCount = logger.deleteLogsByPeriodFromSQLite("01.01.2020", "31.12.2030");
    	if (deletedCount === countBeforeDelete || deletedCount >= 0)
    		console.log("вњ“ Test 3: Delete logs by current period - PASSED");
    	else
    		console.log("вњ— Test 3: Delete logs by current period - FAILED");
    	
    	var finalCount = logger.getTotalLogCountFromSQLite("", "");
    	if (finalCount === 0 || finalCount < countBeforeDelete)
    		console.log("вњ“ Test 4: Verify logs were deleted - PASSED");
    	else
    		console.log("вњ— Test 4: Verify logs were deleted - FAILED");
    }
    
    main();

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