Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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', , ) |
|
 |
|