Histórico da Página
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, o sistema não está gerando o 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, dificultando pois não eram gerados. Consequentemente esse comportamento dificultava a rastreabilidade de informações das execuções destas demais aplicações.
03. SOLUÇÃO
...
tabs | Passo 01, Passo 02, Passo 03, Passo 04 |
---|---|
ids | passo1,passo2 |
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
Informações | ||
---|---|---|
| ||
As execuções em modo PROFILER são geradas e mantidas apenas no servidor, ou seja, por mais que o usuário selecione a opção de execução em modo PROFILER a partir do menu, o servidor gera as informações de PROFILER apenas após o término da execução da rotina/aplicação e isso pode levar um certo tempo, dependendo do volume de processamento executado. Com isso os arquivos de LOG gerados em modo PROFILER não são transferidos pra máquina local do usuário após a finalização da aplicação no menu. |
Card documentos Informacao Disponível a partir do pacote oficial 12.1.28 ou Framework Fix 12.1.28.(fix01)
...
default | yes |
---|---|
referencia | passo1 |
...
default | no |
---|---|
referencia | passo2 |
04. DEMAIS INFORMAÇÕES
Card documentos Informacao Use esse box para destacar informações relevantes e/ou de destaque. Titulo 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
Templatedocumentos |
---|
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |