What are example of information that should be logged with TRACE and not with DEBUG?
Se eu tiver um algoritmo que passe por várias etapas, o nível de rastreio exibirá informações sobre cada uma dessas etapas no melhor nível. Coisas como entradas e saídas literais de cada passo.
Em geral, o rastreio incluirá toda a depuração (assim como a depuração inclui todos os avisos e erros).
What specific problem do I solve by logging that information?
Você precisa depurar algo que produza maneira dados em excesso para fazer logoff de uma compilação específica quando estiver segmentando essa coisa específica e não se importar com erros ou outras informações de registro (já que o volume de informações de rastreio irá obscurecê-las). Em alguns registradores, você transformará um determinado módulo em um nível de rastreamento apenas.
In those examples, what are the properties of the logged information that clearly discriminate between logging at the TRACE level rather than the DEBUG level?
Em geral, a criação de log em nível de rastreio não pode ser ativada por períodos prolongados, pois degrada muito o desempenho do aplicativo e / ou cria uma abundância de dados de log que são insustentáveis devido a restrições de disco / largura de banda.
O registro em nível de depuração geralmente pode ser ativado por um período mais longo sem tornar o aplicativo inutilizável.
Why does that information must go through the log infrastructure?
Não é necessário. Alguns frameworks possuem um tracelogger separado.
Normalmente, ele acaba nos registros, já que os rastreadores e os registradores normais têm necessidades similares em relação à gravação em disco / rede, tratamento de erros, rotação de logs, etc.
Why is it better to use log for this rather than a debugger?
Como o depurador pode não conseguir se conectar à máquina com problema. Você pode não saber o suficiente para saber onde definir os pontos de interrupção ou passar pelo código. Você pode não conseguir reproduzir o erro de forma confiável em um depurador, portanto, use os logs para capturá-lo "se isso acontecer".
Mas eles são apenas nomes. Como qualquer outro rótulo, eles são apenas nomes que as pessoas colocam nas coisas e geralmente significam coisas diferentes para pessoas diferentes. E o rótulo em si é menos importante que os pedaços de carne a que o rótulo se refere.