Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | TSA | Módulo | TSA |
Segmento Executor | Manufatura | ||
Projeto1 | D_MAN_TSA001 | IRM1 | PCREQ-54834990 |
Requisito1 | PCREQ-5483 | Subtarefa1 | PDRMAN-3614 |
Release de Entrega Planejada | 12.1.7 | ||
País | ( X ) Brasil ( X ) Argentina ( X ) México ( X ) Chile ( X ) Paraguai ( X ) Equador ( X ) USA ( X ) Colômbia ( ) Outro _____________. | ||
Outros | Requisitos de suportabilidade |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Visando atender requisitos de suportabilidade do produto, este requisito visa possibilitar a geração das saídas de log do integrador em vários arquivos, contendo nestes, somente o conteúdo da Thread em execução com suas chamadas.
Definição da Regra de Negócio
Rotina | Tipo de Operação | Caminho |
Log4j | [Alteração] | /conf/log4j.properties |
Log4j:
- Criar a chave "tsa.log4j.generateLogByThread" no arquivo log4j.properties com valor default igual a false.
- Alterar a classe de log do TSA para ler o parâmetro "tsa.log4j.generateLogByThread".
- Se o parâmetro "tsa.log4j.generateLogByThread" for true, a aplicação deverá criar de forma dinâmica um appender para cada Thread que nas suas classes invocarem o Logger.
- Cada appender criado deverá criar um arquivo texto com o nome da Thread para saída dos logs do integrador.
- O appender deve ser criado com os mesmos parâmetros de nível de log, quantidade de arquivos de backup e tamanho máximo dos arquivos de backup do appender padrão "fileOut". Por exemplo, caso o appender padrão esteja com o nível de log INFO, o novo appender também deverá ser criado com este parâmetro em INFO.
- O arquivo server_log.txt ainda deve continuar sendo gerado da mesma forma que era antes.
- O arquivo de log criado com o nome da Thread, deverá conter apenas caracteres alfanuméricos. Demais caracteres devem ser trocados por "_" (underline) por exemplo, a Thread "Telematica:01", deverá criar um arquivo com o nome: "Telematica_01.txt".
- Quando a Thread A chamar a Thread B, todos os logs contidos na classe da Thread B devem ser mostrados na Thread A. Somente será criado um arquivo de log para a Thread B se ela instanciar alguma classe, assim, todos os logs contidos nesta classe sairão em seu arquivo de log.
- Cada appender criado deverá criar um arquivo texto com o nome da Thread para saída dos logs do integrador.
- Se o parâmetro "tsa.log4j.generateLogByThread" for true, a aplicação deverá criar de forma dinâmica um appender para cada Thread que nas suas classes invocarem o Logger.
- Se o parâmetro "tsa.log4j.generateLogByThread" for false ou se o parâmetro não existir no arquivo "/conf/log4j.properties", o integrador deve gerar os logs na forma anterior, ou seja, contendo apenas um arquivo de log /log/server_log.txt.
- Fazer que cada linha do log mostre a Thread pai, a Thread corrente e o nome da classe que registrou no Logger.
- Criar um requisito futuro para atualizar a biblioteca log4j para a versão 2.
- Criar um requisito futuro para que o arquivo log4j.properties seja portado para o banco de dados.
Protótipo de Tela
Diretório /log:
Diretório de log do integrador com o parâmetro "tsa.log4j.generateLogByThread" marcado como true.
Padrão de layout para mensagens:
Arquivo de log que demonstra o novo layout das mensagens, no qual, antes de "->" é o nome da Thread pai, antes de <|> é o nome da Thread corrente, e, após, é o nome da classe onde o log está localizado.
Log4j.properties:
Arquivo de configurações do log4j contendo o parâmetro "tsa.log4j.generateLogByThread".
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|