| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		timochev Эксперт
 
  Вступление в Клуб: 02.07.2007
  | 
		
			
				 Ср Фев 16, 2011 14:42   вывод отладки в файл на FIO | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Можно ли как-нибудь реализовать вывод отладочной информации в процессе выполнения операции в файл на FIO но так, чтобы файл располагался не в профиле пользователя?
 
В лог будет выводиться конфиденциальная информация, поэтому хотим выводить в отдельный, доступный только администраторам, каталог. | 
			 
		  | 
	
	
		  | 
	
	
		r00st Эксперт
 
  Вступление в Клуб: 14.09.2007
  | 
		
			
				 Ср Фев 16, 2011 15:06    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| Полагаю, можно для этого создать отдельного пользователя и назначить ему профиль с соответствующим значением параметра FIO_ROOT_DIR. | 
			 
		  | 
	
	
		  | 
	
	
		timochev Эксперт
 
  Вступление в Клуб: 02.07.2007
  | 
		
			
				 Ср Фев 16, 2011 15:21    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | r00st пишет: | 	 		  | Полагаю, можно для этого создать отдельного пользователя и назначить ему профиль с соответствующим значением параметра FIO_ROOT_DIR. | 	  Операцию должны запускать все обычные пользователи...
 
Может я непонятно выразился? | 
			 
		  | 
	
	
		  | 
	
	
		r00st Эксперт
 
  Вступление в Клуб: 14.09.2007
  | 
		
			
				 Ср Фев 16, 2011 15:42    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Пакет STDIO:
 
 	  | Цитата: | 	 		  function  GET_ENV (name in string) return string;
 
    возвращает значение переменной окружения name процесса FIO, возвращает пусто,
 
        если переменная окружения не определена.
 
function  PUT_ENV (name in string, value in string) return integer;
 
    уcтанавливает значение value переменной окружения name процесса FIO,
 
        возвращает длину value >=0, иначе код ошибки. | 	 
  | 
			 
		  | 
	
	
		  | 
	
	
		timochev Эксперт
 
  Вступление в Клуб: 02.07.2007
  | 
		
			
				 Ср Фев 16, 2011 17:38    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Рустам, прошу прощения, но не понимаю, как это может помочь...
 
У меня есть стандартный код
 
 	  | Код: | 	 		  | txt_file := stdio.open(p_path,p_file_name, 'w'); | 	  
 
Данная строка создает файл в каталоге p_path относительно корня FIO для профиля пользователя. 
 
А можно как-нибудь перебраться из этой ветки каталогов в другую? | 
			 
		  | 
	
	
		  | 
	
	
		r00st Эксперт
 
  Вступление в Клуб: 14.09.2007
  | 
		
			
				 Ср Фев 16, 2011 18:07    | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				P_PATH берется относительно FIO_ROOT_DIR.
 
Перед формированием файла с помощью PUT_ENV можно изменить FIO_ROOT_DIR, указав необходимый каталог (абсолютный путь на сервере). Файл будет сформирован там, где надо. По завершении операции - вернуть настройки обратно.
 
 
Судя по названию процедуры (ENV), изменяться должна переменная сессии, а не настройка профиля. Но сам не проверял. | 
			 
		  | 
	
	
		  | 
	
	
		timochev Эксперт
 
  Вступление в Клуб: 02.07.2007
  | 
		
			
				 Ср Фев 16, 2011 18:13    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| Спасибо, попробуем | 
			 
		  | 
	
	
		  | 
	
	
		timochev Эксперт
 
  Вступление в Клуб: 02.07.2007
  | 
		
			
				 Ср Фев 16, 2011 19:59    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Выдает ошибку:
 
 	  | Цитата: | 	 		  | PutEnv FIO_ROOT_DIR=..., error: 6512, FIO Access denied | 	  В принципе это логично - ведь должны же соблюдаться права доступа конкретного профиля.
 
 
Пытался экспериментировать со списком доступных каталогов профиля FIO_BASE_DIR (указывал несколько каталогов через ; ) и параметром p_chk файловых операций пакета STDIO, но тоже ошибки FIO Access denied. Ничего не получилось. Но это уже все равно из другой оперы.
 
Надо, чтобы пользователь к месту записи логов не имел доступа.
 
Есть идеи - писать логи в таблицы или пайпы, а потом заданием по расписанию вычитывать инфу в лог-файлы. Но какой-то этот вариант навороченный. | 
			 
		  | 
	
	
		  | 
	
	
		ALEX_DV Участник
 
  Вступление в Клуб: 26.02.2010
  | 
		
			
				 Чт Фев 17, 2011 08:10    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Конфиденциальная информация. Звучит забавно. Обычно логи выглядят так, что через месяц, сам ничего не понимаешь о чем речь идет. Ну даже если вы зарплату по банку например выгружаете для загрузки в 1С или номера карт, то можно формат лога сделать не очень понятный для большинства потенциальных любопытствующих. Слабо представляю себе сотрудников, которые ковыряются в помойке FIO_ROOT_DIR в поисках интересных логов. Или что з/п, номера карт, остатки на счетах, ..... можно только в этом логе увидеть.
 
 
Шифруйте, архивируйте, отправляйте лог файл на нужную электропочту и срочно удаляйте его с сервера ) В пять строк кода уложитесь.
 
 
Пока писал глупости: а может и в самом деле в архив с паролем. Есть вроде интерфейс на pl/plus (pl/sql) вызова команд ОС. | 
			 
		  | 
	
	
		  | 
	
	
		timochev Эксперт
 
  Вступление в Клуб: 02.07.2007
  | 
		
			
				 Чт Фев 17, 2011 08:57    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | ALEX_DV пишет: | 	 		  | Конфиденциальная информация. | 	  Имеются в виду xml-запросы с данными по клиентам и финансовой информацией | 
			 
		  | 
	
	
		  | 
	
	
		mvg Участник - экстремал
 
  Вступление в Клуб: 04.12.2008
  | 
		
			
				 Ср Фев 06, 2013 08:31    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| А никто случайно не делал сохранение пайпа сразу в файл, минуя Монитор комм.канала? | 
			 
		  | 
	
	
		  | 
	
	
		Igorka Профи
 
  Вступление в Клуб: 28.09.2007
  | 
		
			
				 Ср Фев 06, 2013 08:36    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | mvg пишет: | 	 		  | А никто случайно не делал сохранение пайпа сразу в файл, минуя Монитор комм.канала? | 	  
 
ЦФТ делал - завершение дня пишет в файл, когда в автомате работает. | 
			 
		  | 
	
	
		  | 
	
	
		mvg Участник - экстремал
 
  Вступление в Клуб: 04.12.2008
  | 
		
			
				 Ср Фев 06, 2013 08:51    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | Igorka пишет: | 	 		   	  | mvg пишет: | 	 		  | А никто случайно не делал сохранение пайпа сразу в файл, минуя Монитор комм.канала? | 	  
 
ЦФТ делал - завершение дня пишет в файл, когда в автомате работает. | 	  
 
 
ЗОД пишет методами Stdio сразу в файл, я имею в виду несколько другое - писать пайп, заполняющийся процедурой debug_pipe в файл. | 
			 
		  | 
	
	
		  | 
	
	
		Reddom Участник со стажем
 
  Вступление в Клуб: 25.01.2013
  | 
		
			
				 Ср Фев 06, 2013 14:58    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Можно попробовать разобраться с библиотекой [RUNTIME].[LOG_LIB].
 
Если лень разбираться с настройками, то через процедуру этой библиотеки:
 
 	  | Код: | 	 		  procedure msg_file
 
/*Запись сообщения в файл*/
 
   ( p_message         string /*Текст сообщения*/
 
   , p_path         string /*Путь к файлу*/
 
   , p_name         string /*Наименование файла(шаблон)*/
 
   , p_file_encode      string default 'WIN' /*Кодировка файла*/
 
   , p_create_filepath   boolean := TRUE /*Необходимость создать путь к файлу и файл, если они еще не существуют*/
 
   ); | 	 
  | 
			 
		  | 
	
	
		  | 
	
	
		Alkov Профи
 
  Вступление в Клуб: 23.09.2010
  | 
		
			
				 Чт Фев 07, 2013 02:14    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				можно записать в общий , а потом переместить через
 
stdio.run('FIO_MOVE_CMD', , ) | 
			 
		  | 
	
	
		  | 
	
	
		 |