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

init

init($minLogLevelCode=LogLevel::DEBUG,$phpUseTroughShell=true,$writeLogToLogPanel=true,$logFilePath="",$logSQLiteDbFilePath="",$dateTimeFormat=self::DateTimeFormatDefault,$localizationCode="en",$isNeedTextTransliteration=false,$useXheApiToAction=true); - The default date and time format for logs unless a different format is specified during initialization */

const DateTimeFormatDefault = "d-m-Y H:i:s";
#region Private members
/**
/
private int $minLogLevelCode = LogLevel::DEBUG;
/**
True - running not from a third-party IDE, otherwise from a third-party IDE
/
private bool $phpUseTroughShell = true;
/**
/
private bool $writeLogToLogPanel = true;
/**
/
private string $logFilePath = '';
/**
/
private string $logSQLiteDbFilePath;
/**
/
private string $dateTimeFormat = self::DateTimeFormatDefault;
/**
/
private string $localizationCode = "en";
/** @var bool Is need make text transliteration? */
private bool $isNeedTextTransliteration = false;
/** @var bool Use XHE API to execute actions? */
private bool $useXheApiToAction = true;
/**
/
private array $logLevelNameLocDictionaryRu = array(
'TRACE' => 'СЛЕД',
'DEBUG' => 'ОТЛАДКА',
'INFO' => 'ИНФО',
'WARNING' => 'ПРЕДУПРЕЖДЕНИЕ',
'ERROR' => 'ОШИБКА',
'CRITICAL' => 'КРИТИЧЕСКАЯ ОШИБКА'
);
/**
/
private array $logLevelNameLocDictionaryTr = array(
'TRACE' => '?ZLEME',
'DEBUG' => 'HATA AYIKLAMA',
'INFO' => 'B?LG?',
'WARNING' => 'UYARI',
'ERROR' => 'HATA',
'CRITICAL' => 'KR?T?K'
);
#endregion
/**
Init

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

  • $minLogLevelCode – Minimum Logging Level [0..5]
  • $phpUseTroughShell – Running the script not from a third-party IDE?
  • $writeLogToLogPanel – Log in "Log panel" UI? Yes/No
  • $logFilePath – Путь к файлу логов. Логировать в файл, если указан путь к файлу
  • $logSQLiteDbFilePath – Log to a local SQLite DB file if a file path is specified
  • $dateTimeFormat – DateTime format for log text
  • $localizationCode – Localization code by ISO 639-1
  • $isNeedTextTransliteration – Made text transliteration?
  • $useXheApiToAction – Use XHE API to execute actions?

    После выполнения функции возвращаемое значение будет равно одному из двух :
  • результат – void

    Пример использования
    <?php
    // Scenario: Tests XHELogger initialization functionality
    
    $xhe_host = getenv("RPABOT_HOST_URL");
    // Connect functional objects if not already connected
    if (!isset($path)){
      $path = "../../../Templates/init.php";
      require($path);
    }
    
    // info
    echo "\n<span >logger->" . basename (__FILE__) . "</span>\n";
    
    // Example 1: Test basic initialization
    echo "\n\n";
    echo "1. Basic initialization test:\n";
    
    // Test basic initialization with default parameters
    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 = "";
    echo "- Log SQLite DB Path: ''\n";
    $dateTimeFormat = "d-M-yyyy HH:mm:ss";
    echo "- Date Time Format: $dateTimeFormat\n";
    $localizationCode = "en";
    echo "- Localization Code: $localizationCode\n";
    $isNeedTextTransliteration = false;
    echo "- Need Text Transliteration: " . ($isNeedTextTransliteration ? "true" : "false") . "\n";
    SYSTEM::$logger->init($minLogLevel, $phpUseThroughShell, $writeLogToLogPanel, $logFilePath, $logSQLiteDbFilePath, $dateTimeFormat, $localizationCode, $isNeedTextTransliteration);
    echo "Logger initialized with default parameters\n";
    
    // Example 2: Test initialization with custom log level
    echo "\n";
    echo "2. Custom log level test:\n";
    
    // Test initialization with INFO log level (should filter out DEBUG and TRACE messages)
    echo "Initializing logger with parameters:\n";
    $minLogLevel = LogLevel::INFO;
    echo "- Min Log Level: INFO (value: $minLogLevel)\n";
    SYSTEM::$logger->init($minLogLevel);
    echo "Logger initialized with INFO log level\n";
    
    // Example 3: Test initialization with file logging
    echo "\n";
    echo "3. File logging test:\n";
    
    // Test initialization with file logging
    echo "Initializing logger with parameters:\n";
    $logFilePath = "test_log.txt";
    echo "- Log File Path: '$logFilePath'\n";
    $minLogLevel = LogLevel::DEBUG;
    echo "- Min Log Level: DEBUG (value: $minLogLevel)\n";
    $phpUseThroughShell = true;
    echo "- PHP Use Through Shell: " . ($phpUseThroughShell ? "true" : "false") . "\n";
    $writeLogToLogPanel = true;
    echo "- Write Log To Log Panel: " . ($writeLogToLogPanel ? "true" : "false") . "\n";
    $logSQLiteDbFilePath = "";
    echo "- Log SQLite DB Path: ''\n";
    $dateTimeFormat = "d-M-yyyy HH:mm:ss";
    echo "- Date Time Format: $dateTimeFormat\n";
    $localizationCode = "en";
    echo "- Localization Code: $localizationCode\n";
    $isNeedTextTransliteration = false;
    echo "- Need Text Transliteration: " . ($isNeedTextTransliteration ? "true" : "false") . "\n";
    SYSTEM::$logger->init($minLogLevel, $phpUseThroughShell, $writeLogToLogPanel, $logFilePath, $logSQLiteDbFilePath, $dateTimeFormat, $localizationCode, $isNeedTextTransliteration);
    echo "Logger initialized with file logging to '$logFilePath'\n";
    
    // Example 4: Test initialization with Russian localization
    echo "\n";
    echo "4. Russian localization test:\n";
    
    // Test initialization with Russian localization
    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 = true;
    echo "- Write Log To Log Panel: " . ($writeLogToLogPanel ? "true" : "false") . "\n";
    $logFilePath = "";
    echo "- Log File Path: ''\n";
    $logSQLiteDbFilePath = "";
    echo "- Log SQLite DB Path: ''\n";
    $dateTimeFormat = "";
    echo "- Date Time Format: d-M-yyyy HH:mm:ss (default)\n";
    $localizationCode = "ru";
    echo "- Localization Code: $localizationCode\n";
    SYSTEM::$logger->init($minLogLevel, $phpUseThroughShell, $writeLogToLogPanel, $logFilePath, $logSQLiteDbFilePath, $dateTimeFormat, $localizationCode);
    echo "Logger initialized with Russian localization\n";
    
    // Example 5: Test initialization with Turkish localization
    echo "\n";
    echo "5. Turkish localization test:\n";
    
    // Test initialization with Turkish localization
    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 = true;
    echo "- Write Log To Log Panel: " . ($writeLogToLogPanel ? "true" : "false") . "\n";
    $logFilePath = "";
    echo "- Log File Path: ''\n";
    $logSQLiteDbFilePath = "";
    echo "- Log SQLite DB Path: ''\n";
    $dateTimeFormat = "";
    echo "- Date Time Format: d-M-yyyy HH:mm:ss (default)\n";
    $localizationCode = "tr";
    echo "- Localization Code: $localizationCode\n";
    SYSTEM::$logger->init($minLogLevel, $phpUseThroughShell, $writeLogToLogPanel, $logFilePath, $logSQLiteDbFilePath, $dateTimeFormat, $localizationCode);
    echo "Logger initialized with Turkish localization\n";
    
    // Example 6: Test initialization with custom date format
    echo "\n";
    echo "6. Custom date format test:\n";
    
    // Test initialization with custom date format
    echo "Initializing logger with parameters:\n";
    $customDateFormat = "Y-m-d H:i:s";
    echo "- Date Time Format: $customDateFormat\n";
    $minLogLevel = LogLevel::DEBUG;
    echo "- Min Log Level: DEBUG (value: $minLogLevel)\n";
    $phpUseThroughShell = true;
    echo "- PHP Use Through Shell: " . ($phpUseThroughShell ? "true" : "false") . "\n";
    $writeLogToLogPanel = true;
    echo "- Write Log To Log Panel: " . ($writeLogToLogPanel ? "true" : "false") . "\n";
    $logFilePath = "";
    echo "- Log File Path: ''\n";
    $logSQLiteDbFilePath = "";
    echo "- Log SQLite DB Path: ''\n";
    $localizationCode = "en";
    echo "- Localization Code: $localizationCode\n";
    $isNeedTextTransliteration = false;
    echo "- Need Text Transliteration: " . ($isNeedTextTransliteration ? "true" : "false") . "\n";
    SYSTEM::$logger->init($minLogLevel, $phpUseThroughShell, $writeLogToLogPanel, $logFilePath, $logSQLiteDbFilePath, $customDateFormat, $localizationCode, $isNeedTextTransliteration);
    echo "Logger initialized with custom date format: '$customDateFormat'\n";
    
    // Example 7: Test initialization with transliteration enabled
    echo "\n";
    echo "7. Transliteration test:\n";
    
    // Test initialization with transliteration enabled
    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 = true;
    echo "- Write Log To Log Panel: " . ($writeLogToLogPanel ? "true" : "false") . "\n";
    $logFilePath = "";
    echo "- Log File Path: ''\n";
    $logSQLiteDbFilePath = "";
    echo "- Log SQLite DB Path: ''\n";
    $dateTimeFormat = "";
    echo "- Date Time Format: d-M-yyyy HH:mm:ss (default)\n";
    $localizationCode = "en";
    echo "- Localization Code: $localizationCode\n";
    $isNeedTextTransliteration = true;
    echo "- Need Text Transliteration: " . ($isNeedTextTransliteration ? "true" : "false") . "\n";
    SYSTEM::$logger->init($minLogLevel, $phpUseThroughShell, $writeLogToLogPanel, $logFilePath, $logSQLiteDbFilePath, $dateTimeFormat, $localizationCode, $isNeedTextTransliteration);
    echo "Logger initialized with transliteration enabled\n";
    
    // Example 8: Test initialization with invalid log level (should default to DEBUG)
    echo "\n";
    echo "8. Invalid log level test:\n";
    
    // Test initialization with invalid log level (should default to DEBUG)
    echo "Initializing logger with parameters:\n";
    $minLogLevel = 999;
    echo "- Min Log Level: INVALID (value: $minLogLevel)\n";
    SYSTEM::$logger->init($minLogLevel); // Invalid log level
    echo "Logger initialized with invalid log level (should default to DEBUG)\n";
    
    // Quit the application
    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.init</font><hr>")
    
    # 1
    echo("1. Initializing logger with default parameters: ")
    if logger.init():
    	echo("вњ“ Success\n\n")
    else:
    	echo("вњ— Failed\n\n")
    
    # 2
    echo("2. Initializing logger with minimum logging level Debug(1): ")
    if logger.init(minLogLevelCode=1):
    	echo("вњ“ Success\n\n")
    else:
    	echo("вњ— Failed\n\n")
    
    # 3
    echo("3. Initializing logger with log file path: ")
    if logger.init(logFilePath=debug.get_cur_script_folder()+"/test/logger.log"):
    	echo("вњ“ Success\n\n")
    else:
    	echo("вњ— Failed\n\n")
    
    # 4
    echo("4. 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")
    
    # end
    echo("<hr>\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)
    	{
    		// init XHE
    		server = Environment.GetEnvironmentVariable("RPABOT_HOST_URL");
    		InitXHE();
    
    		echo("<hr><font color=blue>logger.init</font><hr>");
    
    		// 1 step
    		echo("1. Initialize logger with default parameters: ");
    		bool result1 = logger.init();
    		if(result1)
    			echo("вњ“ Init with default params successful<br>");
    		else
    			echo("вњ— Init with default params failed<br>");
    
    		// 2 step
    		echo("\n2. Initialize logger with custom log level (0 - Trace): ");
    		bool result2 = logger.init(0, true, true, "", "test\\logger_test.db");
    		if(result2)
    			echo("вњ“ Init with log level 0 successful<br>");
    		else
    			echo("вњ— Init with log level 0 failed<br>");
    
    		// 3 step
    		echo("\n3. Initialize logger with log level 5 (Critical) and custom datetime format: ");
    		bool result3 = logger.init(5, true, true, "", "test\\logger_test.db", "", "Y-m-d H:i:s");
    		if(result3)
    			echo("вњ“ Init with log level 5 successful<br>");
    		else
    			echo("вњ— Init with log level 5 failed<br>");
    
    		// 4 step
    		echo("\n4. Initialize logger with localization and transliteration settings: ");
    		bool result4 = logger.init(2, true, true, "", "test\\logger_test.db", "", "d-m-Y H:i:s", "en", true);
    		if(result4)
    			echo("вњ“ Init with localization successful<br>");
    		else
    			echo("вњ— Init with localization 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()
    {
    
    	let result = logger.init(1, true, true, "", "", "d-m-Y H:i:s", "en", false, true);
    	if (result === true)
    		console.log("вњ“ Test 1: Init with default parameters - PASSED");
    	else
    		console.log("вњ— Test 1: Init with default parameters - FAILED");
    	
    	result = logger.init(0, false, false, "", "", "d-m-Y H:i:s", "en", false, true);
    	if (result === true)
    		console.log("вњ“ Test 2: Init with min log level 0 - PASSED");
    	else
    		console.log("вњ— Test 2: Init with min log level 0 - FAILED");
    	
    	result = logger.init(5, true, false, "", "", "d-m-Y H:i:s", "en", false, true);
    	if (result === true)
    		console.log("вњ“ Test 3: Init with min log level 5 - PASSED");
    	else
    		console.log("вњ— Test 3: Init with min log level 5 - FAILED");
    	
    	var logFilePath = path.join(__dirname, "test.log");
    	result = logger.init(1, true, true, logFilePath, "", "d-m-Y H:i:s", "en", false, true);
    	if (result === true)
    		console.log("вњ“ Test 4: Init with log file path - PASSED");
    	else
    		console.log("вњ— Test 4: Init with log file path - FAILED");
    }
    
    main();

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