O Web UI Framework permite ativar a criação de log para usos de estrutura de backend (Struts, mashups e API), com base no URI para cada cliente. Após especificar a criação de log, será possível
ativá-la usando o botão Iniciar Log de Solicitação
na barra de ferramentas de depuração no aplicativo.
Sobre esta tarefa
Para cada solicitação
de criação de log, a criação de log de backend do WUF será realizada para o seguinte:
- Quando uma ação de Struts for chamada, o nome da ação de Struts é conectada.
- Quando um mashup for chamado, o nome de classe XAPIMashup e o nome/nome de fluxo do API são conectados.
- Quando um redirecionamento ocorre ou quando requestDispatcher é criado.
Procedimento
- Utilize parâmetro de contexto scui-request-log-enabled do
arquivo web.xml para configurar a criação de log de backend. Por padrão, esse parâmetro
é configurado para true. Se ele não estiver configurado para true,
o botão Iniciar Log de Solicitação não aparecer.
Entrada do web.xmlde amostra:
<context-param>
<param-name>scui-request-log-enabled</param-name>
<param-value>true</param-value>
</context-param>
- Use a classe com.sterlingcommerce.ui.web.framework.utils.SCUIUtils
para fornecer métodos estáticos para verificar se a criação de log está ativada.
public static boolean isRequestLogEnabledInCtx(SCUIContext uiContext){
return isRequestLogEnabledInCtx(uiContext.getWebContext().getRequest());
}
public static boolean isRequestLogEnabledInCtx(HttpServletRequest request){
// read from context param if enabled
// read from the boolean from isRequestLogEnabled
return isRequestLogEnabledInCtx;
}
...
public static boolean isRequestLogEnabled(SCUIContext uiContext){
return isRequestLogEnabled(uiContext.getWebContext().getRequest());
}
...
public
static boolean isRequestLogEnabled(HttpServletRequest request){
// read from context param if enabled
// read from the boolean from isRequestLogEnabled
return isRequestLogEnabled;
}
- Utilize a
classe com.sterlingcommerce.ui.web.framework.context.SCUIContext para realmente registrar em log a mensagem. O método do utilitário nessa classe pode ser usado pelo
aplicativo para registrar suas mensagens baseadas em solicitação. Ela será registrada apenas se o parâmetro de contexto scui-request-log-enabled
for true e se o usuário tiver iniciado a solicitação
pela barra de ferramentas de depuração.
Nota: Uma exceção de tempo de execução será lançada se o método for chamado quando a criação de log não for ativada por, por exemplo outro método interno.
...
public void setRequestLogMessage(String message){
...
// check if log enabled and attribute already exists.
this.setAttribute(SCUIConstants.REQUEST_LOG_MSG_PARAM_NAME, message);
}
...
- Um anexador separado é usado para colocar toda a criação de log com base em solicitação em um arquivo separado. O arquivo requestinfo.log está disponível em < INSTALL_DIR>/logs ou em seu local de log padrão
O log precisa ser ativado por uma das ações a seguir:
- O comando -Dyfs.logall=Y
- Ativar a criação de log pelo System Management Console.
Se o log não for ativado, nenhuma criação de log ocorrerá.
Mensagem de log de amostra:
2010-02-18 06:38:47,257:DEBUG :[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)':
Inside SCUIAction flightTrip
Getting Request dispatcher /stk/flightTrip/flightTrip.jsp [system]: requestlogger
2010-02-18 06:39:08,806:DEBUG :[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)':
Inside SCUIAction getFlightTrip
Inside SCUIXAPIMashup com.sterlingcommerce.ui.web.platform.mashup.SCUIXAPIMashup
Api name is getFlightTripList
Getting Request dispatcher /stk/flightTrip/gft.jsp [stkadmin]: requestlogger
2010-02-18 06:39:09,013:DEBUG :[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)':
Inside SCUIAction getOrganizationList
Inside SCUIXAPIMashup com.sterlingcommerce.ui.web.platform.mashup.SCUIXAPIMashup
Api name is getOrganizationList
Getting Request dispatcher /stk/flightTrip/gol.jsp [stkadmin]: requestlogger
2010-02-18 06:39:11,833:DEBUG :[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)':
Inside SCUIAction airport
Getting Request dispatcher /stk/airport/airportScreen.jsp [stkadmin]: requestlogger
2010-02-18 06:39:15,836:DEBUG :[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)':
Inside SCUIAction getAirportList
Inside SCUIXAPIMashup com.sterlingcommerce.ui.web.platform.mashup.SCUIXAPIMashup
Api name is getAirportList
Getting Request dispatcher /stk/airport/airportList.jsp [stkadmin]: requestlogger
2010-02-18 06:39:52,948:DEBUG :[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)':
Inside SCUIAction activateRequestLog [stkadmin]: requestlogger
- O botão Parar log de solicitação aparece na barra de ferramentas de depuração quando o botão Iniciar log de solicitação é ativado. Clicar no botão Parar Log de Solicitação parará a criação de log no arquivo requestinfo.log após uma ação final de Struts ser chamada.