01. DADOS GERAIS
Linha de Produto: | Logix |
---|---|
Segmento: | Tecnologia |
Módulo: | Framework |
Função: | Geração LOG/DEBUG |
Requisito/Story/Issue (informe o requisito relacionado) : | DFWKTOOLS-263 |
02. SITUAÇÃO/REQUISITO
Quando uma execução em modo DEBUG é acionada a partir do menu, caso a aplicação execute outra aplicação em modo JOB ou ONLINE, de modo que esta execução seja realizada em uma nova Thread no AppServer, a geração de LOGs era comprometida. Isso prejudicava a geração do conteúdo do LOG de execução destas novas aplicações juntamente com o LOG/DEBUG da aplicação inicial, pois não eram gerados. Consequentemente esse comportamento dificultava a rastreabilidade de informações das execuções destas demais aplicações.
03. SOLUÇÃO
Pasta de geração de arquivos LOG/DEBUG
Toda execução de programa em modo DEBUG irá gerar arquivos de LOG distintos para cada nova Thread iniciada no AppServer a partir da rotina inicial. A pasta de geração dos arquivos de LOG/DEBUG no servidor mudou e agora os arquivos de LOG são gerados no disco do AppServer respeitando o seguinte padrão de pastas:
Execução em modo DEBUG ou FRAMEWORK → [ ROOTPATH ] / temp / debug / [ login_usuario ] / [ pasta_logs ]
Execução em modo PROFILER → [ ROOTPATH ] / temp / profiler/ [ login_usuario ] / [ pasta_logs ]
Onde:
ROOTPATH é a chave de configuração de cada ambiente no AppServer com uma pasta raiz. A partir dessa pasta o sistema irá fazer uso de pastas relativas.
login_usuario é o login do usuário Logix que realizou a execução em modo DEBUG/PROFILER.
pasta_logs é o nome da pasta onde serão armazenados os arquivos contendo o LOG das execuções em modo DEBUG/PROFILER realizadas a partir da aplicação principal
Rotinas ajustadas para respeitar a geração de LOG/DEBUG por pasta no AppServer
Existem algumas formas de iniciar a execução de rotinas a partir do Logix que foram revisadas e devidamente ajustadas para que todas respeitem uma única forma de geração de arquivos de LOG/DEBUG. Isso é realizado com base no padrão de pasta de destino no disco do Servidor de Aplicação (AppServer) e também envolvendo o nome dos arquivos de LOG envolvidos. Estas alterações envolveram a execução de rotinas/programas nos seguintes pontos:
A execução de programa a partir do menu, utilizando um dos atalhos disponíveis.
Para informações a respeito de cada modo de execução, acesse LGX - Chaves de configuração no arquivo de Profile no tópico Geração de Log com Debug.
Qualquer outra rotina/programa executada a partir da aplicação acionada a partir de um atalho do menu irá gerar arquivos de LOG na mesma pasta de destino, gerando sempre um novo arquivo de LOG pra execuções realizadas a partir de nova Thread gerada no AppServer.
Execução de requisições APIs REST / SOAP
Quando a chave de profile logix.debug estiver configurada com valor correspondente a um dos modos de DEBUG ativo, no ato da execução de uma requisição REST/SOAP no AppServer, serão gerados os arquivos de LOG na pasta do AppServer correspondente ao modo de execução DEBUG indicado.
Execuções manuais de gatilhos do Agendador de Tarefas
Ao realizar a execução manual de gatilhos do Agendador de Tarefas a partir do botão Processar no programa JOB0003 (Cadastro de Gatilhos), caso selecione a execução em modo DEBUG, a geração dos LOGs também foi devidamente revisada para respeitar o mesmo padrão de geração de LOGs.
Nomes dos arquivos de LOG
O nome dos arquivos de LOG serão gerados seguindo a seguinte padronização:
Execução em modo DEBUG ou FRAMEWORK → [ sequencia] _debug_thread_[ id_thread ]_[ rotina ]
Execução em modo PROFILER → [ sequencia] _profiler_thread_[ id_thread ]_[ rotina ]
Onde:
sequencia é um código numérico de 5 dígitos gerado de forma sequencial crescente, iniciando de 00000 e incrementado um a um a cada nova thread criada para execução de outra rotina/programa a partir da rotina principal.
id_thread é o código gerado pelo AppServer para cada nova thread iniciada para processamento de alguma rotina/aplicação.
rotina é o nome do fonte compilado no RPO que possui a função principal da aplicação que foi executada na thread do AppServer. Este nome de rotina será utilizado para registrar informações no cabeçalho inicial do arquivo de LOG, contendo versão e data da rotina.
Exemplo de pasta com geração de arquivos de LOG do programa MAN10021 (Cadastro de Itens)
Neste exemplo percebe-se que o programa MAN10021 é a primeira aplicação executada (programa principal), onde a sequência do arquivo de LOG é 00000 (zero) e os demais arquivos de LOG possuem sequências subsequentes 00001, 00002 e 00003, indicando que a partir da execução do programa principal MAN10021 foram acionados os programas SUP7750, WMS6173 e SUP2240 e novas threads geradas no AppServer.
Para o usuário a geração de novas threads no AppServer é imperceptível, mas na geração de arquivos de LOG isso indica um processo totalmente independente e que utiliza uma conexão de banco de dados diferente da aplicação principal.
04. DEMAIS INFORMAÇÕES
Disponível a partir do pacote oficial 12.1.28 ou Framework Fix 12.1.28.(fix01)IMPORTANTE!
05. ASSUNTOS RELACIONADOS
- LGX - Chaves de configuração no arquivo de Profile
- Função para geração de mensagens no LOG do AppServer respeitando o modo de DEBUG de execução - LOG_consoleDebugMessage