Páginas filhas
  • ER_Arquivo_de_Log_do_Integrador_Separado_por_Thread.

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais

 

requisitos

Especificação

Produto

TSA

Módulo

TSA

Segmento Executor

Manufatura

Projeto1

D_MAN_TSA001

IRM1

PCREQ-54834990

Requisito1

PCREQ-5483

Subtarefa1

 

Chamado2

não

PDRMAN-3614

Release de Entrega Planejada

12.1.7

Réplica

não

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 para 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

 

<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.

 

<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

[ACAA040 – Parâmetros]

[Alteração]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA050 – Negociação Financeira]

[Envolvida]

[Atualizações -> Acadêmico-> Tesouraria]

-

[ACAA060 – Cadastro de Pedidos]

[Criação]

[Atualizações -> Acadêmico-> Cadastros]

-

 

Exemplo de Aplicação:

  • Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
  • Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades  como a referência mínima para calcular o débito total do aluno.
  • Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
  • O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.

 

Tabelas Utilizadas

  • SE2 – Cadastro de Contas a Pagar
  • FI9 – Controle de Emissão de DARF>.

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.
    • 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.

Diretório de logs do integradorImage Added

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.
 

Padrão de layout para mensagensImage Added

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

 

 

 Image Removed

 

 

 

 

 

 

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>. 

Arquivo log4j.propertiesImage Added


 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.