BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 30 апр 2024, 13:25

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 03 авг 2010, 13:51 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
Подскажите, примерчик как осуществить вывод каких-то данных в файл для реализации своих логов при выполнении скриптов


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 авг 2010, 14:09 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Как-то так:
Код:
   workDirObject=new File(workDir);
   if(workDirObject.exists()&&!workDirObject.isDirectory()){
      throw new Exception("Ошибка! Целевая директория является файлом: "+workDir);
   }
   if(!workDirObject.exists()){
      print ("Создаем директорию" + workDirObject.getPath());
      if(!workDirObject.mkdir()){throw Exception("Ошибка! Невозможно создать директорию "+workDir);}
   }

   fwriter = new FileWriter(workDir+"/file.txt");
   fwriter.write("olo");
   fwriter.close();
   result+="файл "+workDir+"/file.txt записан\n";


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 авг 2010, 14:10 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Но было бы забавнее логи писать через log4j


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 авг 2010, 14:14 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
спасибо, попробую.

Cromeshnic писал(а):
Но было бы забавнее логи писать через log4j

а примерчиком не поделитесь?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 авг 2010, 14:19 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Нет, не было нужды пока.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 авг 2010, 13:16 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Возможно с log4j будет даже проще, т.к. скрипты выполняются мультипоточно, а log4j в этом плане безопасен.
Но также надо учитывать, что из-за мультипоточного выполнения логи могут смешиваться - поэтому print() в скриптах поведения пишет сначала в буфер.
Код:
import org.apache.log4j.Logger;

#т.к. Logger threadsafe, можно определить прямо здесь
Logger logger = Logger.getLogger( "script.myscript" );

void onEvent( event, setup, con, conSlave )
{
   logger.info( "Tada" );
}
В log4j.xml добавить категорию(фильтр) и аппендер(куда писать)
Код:
   <appender name="MYSCRIPT" class="org.apache.log4j.RollingFileAppender">
      <param name="File" value="${log.dir.path}${app.id}.myscript.log" />
      <param name="MaxFileSize" value="10MB" />
      <param name="MaxBackupIndex" value="2" />
      <param name="Append" value="false" />

      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%X{nestedContext} %d{MM-dd/HH:mm:ss} %5p [%t] %c{1} - %m%n" />
      </layout>
   </appender>
   
   <category name="script.myscript" additivity="false">
      <priority value="DEBUG" />
      <appender-ref ref="MYSCRIPT" />
   </category>


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 авг 2010, 13:47 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
отлично, попробую:) спасибо.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.055s | 34 Queries | GZIP : On ]