/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * Copyright (c) 2013, MPL CodeInside http://codeinside.ru */ package ru.codeinside.gws.api; import java.util.Set; /** * Служба регистрации журналов СМЭВ. * * @author xeodon */ public interface LogService { /** * Включение/выключение журнала поставщиков. * Выключение действует на всех поставщиков. * Включение журнала учитывает настройку конкретного поставщика. * * @param enabled новое состояние журнала поставщиков. */ void setServerLogEnabled(boolean enabled); /** * Включение/выключение журналирования ошибок поставщиков. * Логируются ошибки вне зависимости от настроек * * @param enabled новое состояние журнала поставщиков. */ void setServerLogErrorsEnabled(boolean enabled); /** * Установка статуса запросов для логирования * Учитывает настройку конкреного поставщика * * @param status новое состояние журнала поставщиков. */ void setServerLogStatus(String status); /** * Получить статус журнала для всех поставщиков. * * @return {@code true} если журнал включён. */ boolean isServerLogEnabled(); /** * Получить статус журнала ошибок для всех поставщиков. * * @return {@code true} если журнал включён. */ boolean isServerLogErrorsEnabled(); /** * Получить статус журнала ошибок для всех поставщиков. * * @return текущий статус журналируемых запросов. */ String getServerLogStatus(); /** * Включение/выключение журнала поставщика. * * @param componentName имя компонента * @param enabled включение/выключение. */ void setServerLogEnabled(String componentName, boolean enabled); /** * Получить статус журнала поставщика. * * @param componentName имя компонента. * @return {@code true} если журнал включен. */ boolean isServerLogEnabled(String componentName); /** * Корневой каталог журнала. * * @return полный путь к каталогу. */ String getPathInfo(); /** * Установить список игнорируемых IP адресов. * * @param ips адреса. * @since 1.0.9 */ void setIgnoreSet(Set<String> ips); /** * Создание журнала для экземпляра клиента (потребителя СМЭВ). * * @param bid номер заявки. * @param componentName имя компонента-реализации клиента. * @param processInstanceId идентификатор процесса BPMN, внутри которого происходит вызов. * @param isLogEnabled журнал включен. * @param logErrors журнал ошибок. * @param status список статусов * @param remote идентификация ужаленной стороны. * @return журнал потребителя. */ ClientLog createClientLog(long bid, String componentName, String processInstanceId, boolean isLogEnabled, boolean logErrors, String status, Set<String> remote); /** * Создание журнала для экземпляра услуги (поставщика СМЭВ). * * @param componentName имя компонента-реализации клиента. * @param remote имя удаленной стороны. * @return журнал поставщика, либо {@code null} если журнал отключен. */ ServerLog createServerLog(String componentName, String remote); }