CftClub.ru
Клуб специалистов ЦФТ-Банк

вывод отладки в файл на FIO
На страницу 1, 2  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
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', , )
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru