Некоторые картинки не загружаются из РФ и РК, используйте VPN.

суббота, 10 декабря 2022 г.

Mikrotik script простенькая функция логирования

 Задача банальна - писать в лог тогда. когда мне это удобно + писать в вывод (на случай ручного запуска скрипта). Первый вариант был в другом скрипте, в новой старой задаче мне понадобилась эта штука, но пришлось доработать.

# Func loging. For debug. Error write forever, other only of WriteLog =>0 (0 1 2 - level logging), setup up of global var
# $TYPE - topics (error,info)
# $LEVEL - level logging
# 	0 only error
#	1 main
#	2 all
# $MESSAGE - text message
# Example
# 	$Logging MESSAGE=("My text") TYPE="info"  LEVEL=2
# for use in func use global context and declared WriteLog
# Exmaple
# :global WriteLog
# $Logging MESSAGE=("My text $codeExit") TYPE="info"  LEVEL=2

:global WriteLog

:global Logging do={
	:global WriteLog
	:local TextMessage ("PlugUser => ".$MESSAGE)	
	:if ($LEVEL<=$WriteLog) do={
		:if ($TYPE="info") do={ :log info message=($TextMessage) }
		:if ($TYPE="error") do={ :log error message=($TextMessage) }
	}
	:put $TextMessage
}

Тут фокус в возможности указания уровня логирования. Не забываем в конце удалять глобальную переменную и правила использования функция и переменных в функциях тут

Комментариев нет:

Отправить комментарий