A função conout
que exibe dados no console do Appserver, é lenta ou pode causar lentidão? Pergunto isso pois existem regras sobre o mesmo no Sonarqube.
Olá,
A função conout
tinha por padrão um comportamento síncrono na escrita, com isso, poderia gerar lentidão, principalmente em cenários de muitas threads escrevendo ao mesmo tempo.
Para melhorar esse cenário, o binário passou a fazer a escrita de forma assíncrona, porém esse comportamento pode ser desligado via INI, pela chave AsyncConsoleLog
.
Por conta dessa possibilidade de lentidão, o Sonarqube alerta sobre seu uso.
O recomendo, até por conta de padronização e de logserver, é a utilização da função FWLogMsg
.
Além da padronização na geração de mensagens, essa função já a devida integração com o logserver caso configurado e pode exibir também no console (assim como o conout), conforme a utilização da chaves específicas no INI, que por padrão estão desligadas, logo se algum dia precisar ver as informações no console, você pode ligar as chaves, porém, esse envio ao console também vai obedecer às configurações de log síncrono/assíncrono.
Documentações:
AsyncConsoleLog - TOTVSTEC - TDN
AsyncMaxFiles - TOTVSTEC - TDN
Conout - TOTVSTEC - TDN
FWLogMsg - Frameworksp - TDN
Chaves para controle de logs - Frameworksp - TDN