Автор Тема: #logfile "name.ext"  (Прочитано 705 раз)

0 Пользователей и 1 Гость просматривают эту тему.

i0

  • Оплот сообщества
  • ****
  • Сообщений: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • Просмотр профиля
#logfile "name.ext"
« : Апрель 26, 2017, 06:13:40 pm »
прошу дополнить директиву #logfile возможностью задать имя и расширение файла-лога

меня категорически не устраивает "log.txt", потому что имя единое для всех скриптов, а расширение - левое, к нему неудобно ассоциировать внешний лог-вьюер

[spoiler]ну да, каждый из "освоившихся" может сделать запись в свой лог с помощью tfwrite,
и будет у каждого своя система логирования с блекджеком и стрконкатами

Код: Clickermann
  1. // уровни логирования
  2. #define @LOG_NO : 0
  3. #define @LOG_FATAL : 2
  4. #define @LOG_ERROR : 3
  5. #define @LOG_WARN : 4
  6. #define @LOG_INFO : 5
  7. #define @LOG_TRACE : 6
  8. #define @LOG_DEBUG : 7
  9. #define @LOG_ALL : 9
  10. $aLogLvls[0]= "   NO"
  11. $aLogLvls[1]= "   NO"
  12. $aLogLvls[2]= "FATAL"
  13. $aLogLvls[3]= "ERROR"
  14. $aLogLvls[4]= " WARN"
  15. $aLogLvls[5]= " INFO"
  16. $aLogLvls[6]= "TRACE"
  17. $aLogLvls[7]= "DEBUG"
  18. $aLogLvls[8]= "  ALL"
  19. $aLogLvls[9]= "  ALL"
  20.  
  21. //  Log – выводит (или нет) сообщение в файл $sLogName в зависимости
  22. //  от установленного уровня логирования $nLogLevel и уровня сообщения $nMessageLvl
  23. sub(Log, $nMessageLvl, $sMessage)
  24.   if ($nMessageLvl > $nLogLevel)
  25.   else
  26.      $sDate=$_date_y
  27.      lpad($_date_m, 2, "0")
  28.      $sDate=strconcat($sDate,"-",$_return)
  29.      lpad($_date_d, 2, "0")
  30.      $sDate=strconcat($sDate,"-",$_return)
  31.  
  32.      lpad($_time_h, 2, "0")
  33.      $sTime=$_return
  34.      lpad($_time_m, 2, "0")
  35.      $sTime=strconcat($sTime,":",$_return)
  36.      lpad($_time_s, 2, "0")
  37.      $sTime=strconcat($sTime,":",$_return)
  38.  
  39.      tfwrite($sLogName, strconcat($sTime," ",$sDate," (",$aLogLvls[$nMessageLvl],") ",$sMessage))
  40.      // дубль в обычный лог кликера, предполагается что #logfile не включена
  41.      logwrite($sDate, " (",$aLogLvls[$nMessageLvl],") ",$sMessage)
  42.      undefine($_return)
  43.      undefine($sDate)
  44.      undefine($sTime)
  45.   end_if
  46. end_sub //==> Log
  47. // псевдонимы
  48. #define Log.fatal( : Log(@LOG_FATAL,
  49. #define Log.error( : Log(@LOG_ERROR,
  50. #define Log.warn( : Log(@LOG_WARN,
  51. #define Log.info( : Log(@LOG_INFO,
  52. #define Log.trace( : Log(@LOG_TRACE,
  53. #define Log.debug( : Log(@LOG_DEBUG,
  54.  
[/spoiler]