Задача банальна - писать в лог тогда. когда мне это удобно + писать в вывод (на случай ручного запуска скрипта). Первый вариант был в другом скрипте, в новой старой задаче мне понадобилась эта штука, но пришлось доработать.
# 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
}
Тут фокус в возможности указания уровня логирования. Не забываем в конце удалять глобальную переменную и правила использования функция и переменных в функциях тут
Комментариев нет:
Отправить комментарий