Author Topic: #logfile "name.ext"  (Read 2643 times)

0 Members and 1 Guest are viewing this topic.

i0

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

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

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

Code: (clickermann) [Select]
// уровни логирования
#define @LOG_NO : 0
#define @LOG_FATAL : 2
#define @LOG_ERROR : 3
#define @LOG_WARN : 4
#define @LOG_INFO : 5
#define @LOG_TRACE : 6
#define @LOG_DEBUG : 7
#define @LOG_ALL : 9
$aLogLvls[0]= "   NO"
$aLogLvls[1]= "   NO"
$aLogLvls[2]= "FATAL"
$aLogLvls[3]= "ERROR"
$aLogLvls[4]= " WARN"
$aLogLvls[5]= " INFO"
$aLogLvls[6]= "TRACE"
$aLogLvls[7]= "DEBUG"
$aLogLvls[8]= "  ALL"
$aLogLvls[9]= "  ALL"

//  Log – выводит (или нет) сообщение в файл $sLogName в зависимости
//  от установленного уровня логирования $nLogLevel и уровня сообщения $nMessageLvl
sub(Log, $nMessageLvl, $sMessage)
   if ($nMessageLvl > $nLogLevel)
   else
      $sDate=$_date_y
      lpad($_date_m, 2, "0")
      $sDate=strconcat($sDate,"-",$_return)
      lpad($_date_d, 2, "0")
      $sDate=strconcat($sDate,"-",$_return)
     
      lpad($_time_h, 2, "0")
      $sTime=$_return
      lpad($_time_m, 2, "0")
      $sTime=strconcat($sTime,":",$_return)
      lpad($_time_s, 2, "0")
      $sTime=strconcat($sTime,":",$_return)
     
      tfwrite($sLogName, strconcat($sTime," ",$sDate," (",$aLogLvls[$nMessageLvl],") ",$sMessage))
      // дубль в обычный лог кликера, предполагается что #logfile не включена
      logwrite($sDate, " (",$aLogLvls[$nMessageLvl],") ",$sMessage)
      undefine($_return)
      undefine($sDate)
      undefine($sTime)
   end_if
end_sub //==> Log
// псевдонимы
#define Log.fatal( : Log(@LOG_FATAL,
#define Log.error( : Log(@LOG_ERROR,
#define Log.warn( : Log(@LOG_WARN,
#define Log.info( : Log(@LOG_INFO,
#define Log.trace( : Log(@LOG_TRACE,
#define Log.debug( : Log(@LOG_DEBUG,
[/spoiler]