%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.217.222.205 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sale/lib/cashbox/ |
Upload File : |
<?php namespace Bitrix\Sale\Cashbox; use Bitrix\Main\ArgumentTypeException; use Bitrix\Main\Config\Option; use Bitrix\Main\Type\DateTime; use Bitrix\Sale\Cashbox\Internals\CashboxErrLogTable; /** * Class Logger * @package Bitrix\Sale\Cashbox */ class Logger { /* trace levels */ protected const TRACE_LEVEL_ERROR = 1; protected const TRACE_LEVEL_WARNING = 2; protected const TRACE_LEVEL_DEBUG = 3; /** * @param string $message * @param null $cashboxId * @throws \Bitrix\Main\ArgumentNullException * @throws \Bitrix\Main\ArgumentOutOfRangeException * @throws \Bitrix\Main\ObjectException */ public static function addError(string $message, $cashboxId = null): void { self::addToLog($message, $cashboxId, static::TRACE_LEVEL_ERROR); } /** * @param string $message * @param null $cashboxId * @throws \Bitrix\Main\ArgumentNullException * @throws \Bitrix\Main\ArgumentOutOfRangeException * @throws \Bitrix\Main\ObjectException */ public static function addWarning(string $message, $cashboxId = null): void { self::addToLog($message, $cashboxId, static::TRACE_LEVEL_WARNING); } /** * @param string $message * @param null $cashboxId * @throws \Bitrix\Main\ArgumentNullException * @throws \Bitrix\Main\ArgumentOutOfRangeException * @throws \Bitrix\Main\ObjectException */ public static function addDebugInfo(string $message, $cashboxId = null): void { self::addToLog($message, $cashboxId, static::TRACE_LEVEL_DEBUG); } /** * @param string $message * @return bool */ private static function validateMessage(string $message): bool { return $message !== ''; } /** * @param int $messageLevel * @return bool * @throws \Bitrix\Main\ArgumentNullException * @throws \Bitrix\Main\ArgumentOutOfRangeException */ private static function checkMessageLevel(int $messageLevel): bool { return $messageLevel <= self::getLevel(); } /** * @param string $message * @param $cashboxId * @param $messageLevel * @throws \Bitrix\Main\ArgumentNullException * @throws \Bitrix\Main\ArgumentOutOfRangeException * @throws \Bitrix\Main\ObjectException */ private static function addToLog(string $message, $cashboxId, $messageLevel): void { if (self::checkMessageLevel($messageLevel) && self::validateMessage($message)) { $data = [ 'CASHBOX_ID' => $cashboxId, 'MESSAGE' => $message, 'DATE_INSERT' => new DateTime() ]; CashboxErrLogTable::add($data); } } /** * @return int * @throws \Bitrix\Main\ArgumentNullException * @throws \Bitrix\Main\ArgumentOutOfRangeException */ private static function getLevel(): int { return (int)Option::get('sale', 'cashbox_log_level', static::TRACE_LEVEL_ERROR); } }