Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Annihilant on October 28, 2015, 09:47:13 AM

Title: Ведение лога в файле с указанием даты
Post by: Annihilant on October 28, 2015, 09:47:13 AM
Написал скрипт выполняющий однообразную вечернюю рабочую задачу, каждый вечер, в определенное время. Чтобы контролировать отработал ли скрипт, естественно пишу каждое действие в лог, что бы знать где споткнулся. Но вот беда нет даты, только время. В самом начале поставил что бы он при первом выведении в лог инфы поставил туда еще и дату, но искать будет неудобно, конкретный день. Есть ли возможность поставить в лог сначала дату потом уже время, и у каждого сообщения?
Title: Re: Ведение лога в файле с указанием даты
Post by: ЦИТРИН on October 28, 2015, 09:58:08 AM
В системных переменных  есть  нужная  заготовка :  "текущее число"  , месяц ,год итп. Выбирайте нужное прямо из команд редактора.
print($_date_d,".",$_date_m,".",$_date_y)

Тут скриншот
http://grabilla.com/05a1c-59f2877d-a712-4bec-ab66-22873406ae72.png
Title: Re: Ведение лога в файле с указанием даты
Post by: Annihilant on October 28, 2015, 10:56:08 AM
Эти команды я нашел. вот так в начале сделал.
Code: [Select]
print ($_date_y,"-",$_date_m,"-",$_date_d, " начали")Вот только получилось что нужно в каждой команде "print" это писать, плюс сначала идет время, а уж потом дата. А мне хочется дату сначала, а уж потом время.
Title: Re: Ведение лога в файле с указанием даты
Post by: Oraven on October 28, 2015, 12:58:25 PM
Есть же TFWRITE пиши в текстовик что хочешь и как хочешь

Вот пример
Code: (clickermann) [Select]
SUB(LOG,$note) // подпрограмму размести в начале скрипта
   $th = $_time_h
   $tm = $_time_m
   $ts = $_time_s
   $dd = $_date_d
   $dm = $_date_m
   $dy = $_date_y
   IF(STRLEN($th)<2)
      $th = STRCONCAT ("0", $th)
   END_IF
   IF(STRLEN($tm)<2)
      $tm = STRCONCAT ("0", $tm)
   END_IF
   IF(STRLEN($ts)<2)
      $ts = STRCONCAT ("0", $ts)
   END_IF
   IF(STRLEN($dd)<2)
      $dd = STRCONCAT ("0", $dd)
   END_IF
   IF(STRLEN($dm)<2)
      $dm = STRCONCAT ("0", $dm)
   END_IF
   IF(STRLEN($dy)<2)
      $dy = STRCONCAT ("0", $dy)
   END_IF
   LOGWRITE ($note) // запись в лог
   TFWRITE("LOG.txt", STRCONCAT($dd,".",$dm,".",$dy," ",$th,":",$tm,":",$ts, " ", $note)) // запись в файл
END_SUB

LOG("Примечание") // вызов подпрограммы


HALT
Title: Re: Ведение лога в файле с указанием даты
Post by: Annihilant on October 28, 2015, 02:22:24 PM
Вроде то что нужно. Сейчас пойму как это работает. Logwrite я так думаю мне не к чему, мне тогда обычный лог не к чему.

Прога работает, дело свое делает, но есть один косяк. Я периодически вывожу в лог найденные координаты
Code: [Select]
log ("x=", $x," y=", $y)и при выводе координат прога глючит. :(
Title: Re: Ведение лога в файле с указанием даты
Post by: Vint on October 28, 2015, 02:52:56 PM
LOG("текст") это твоя подпрограмма. Подпрограмма принимает один ТЕКСТОВЫЙ параметр.
Естественно в неё нельзя пихать так же как ты выводишь в logwrite

должен всё перевести в строку и объединить
Code: (clickermann) [Select]
log (STRCONCAT ("x=", $x," y=", $y))
Title: Re: Ведение лога в файле с указанием даты
Post by: Annihilant on October 28, 2015, 03:40:41 PM
Ок. Понял. Огромное спасибо.
Title: Re: Ведение лога в файле с указанием даты
Post by: Annihilant on October 28, 2015, 03:50:21 PM
Все заработало! Всем огромное спасибо! Больше вопросов не имею.  :D