Olá pessoal…
Hoje vou mostrar uma função que desenvolvi, que basicamente lê um arquivo de IXBLog (Logs de pontos de entrada e funções customizadas) e gera um arquivo apenas com a lista das funções.
Muitas vezes um arquivo de IXBLog pode ter várias linhas, e o programador pode acabar se perdendo em meio a tantas funções executadas. Dessa forma, essa rotina foi desenvolvida apenas para trazer a lista de ExecBlocks executados.
Abaixo um print do IXBLog original.
E abaixo um print do arquivo gerado por essa função customizada.
Abaixo o código fonte desenvolvido.
//Bibliotecas
#Include "Protheus.ch"
//Constantes
#Define STR_PULA Chr(13)+Chr(10)
/*/{Protheus.doc} zLeIXBLog
Função que lê arquivo gerado pelo IXBLog, e gera um outro apenas com o nome dos pontos de entrada executado
@type function
@author Atilio
@since 05/08/2016
@version 1.0
@param cArquivo, character, (Descrição do parâmetro)
@example
u_zLeIXBLog("E:\administrador_026270.log")
/*/
User Function zLeIXBLog(cArquivo)
Local aArea := GetArea()
Local cPEs := "ExecBlocks executados: "+STR_PULA
Local oFile
Local cTmpDir := GetTempPath()
Local cTmpArq := "log_pe_"+dToS(dDataBase)+"_"+StrTran(Time(), ':', '')+".txt"
//Definindo o arquivo a ser lido
oFile := FWFileReader():New(cArquivo)
//Se o arquivo pode ser aberto
If (oFile:Open())
//Se não for fim do arquivo
If ! (oFile:EoF())
//Enquanto houver linhas a serem lidas
While (oFile:HasLine())
cLinAtu := oFile:GetLine()
//Se tiver contido o texto ExecBlock
If "ExecBlock" $ cLinAtu
cNomePonto := Alltrim(StrTran(cLinAtu, 'ExecBlock :', ''))
//Se ele não estiver contido, adiciona no texto
If ! cNomePonto $ cPEs
cPEs += "> "+cNomePonto+STR_PULA
EndIf
EndIf
EndDo
EndIf
//Fecha o arquivo e finaliza o processamento
oFile:Close()
EndIf
//Gera o arquivo e abre
MemoWrite(cTmpDir+cTmpArq, cPEs)
ShellExecute("OPEN", cTmpArq, "", cTmpDir, 0 )
RestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.


Boa tarde Dan_Atilio
Você teria algo que lê o logprofiler?
Obrigado.
Boa tarde Claudio, tudo bem?
Infelizmente não fiz ainda jovem.
Abraços.