прошу дополнить директиву #logfile возможностью задать имя и расширение файла-лога
меня категорически не устраивает "log.txt", потому что имя единое для всех скриптов, а расширение - левое, к нему неудобно ассоциировать внешний лог-вьюер
[spoiler]ну да, каждый из "освоившихся" может сделать запись в свой лог с помощью tfwrite,
и будет у каждого своя система логирования с блекджеком и стрконкатами
// уровни логирования
#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]