Pelo que entendi a pergunta, a resposta é a primeira alternativa. Um arquivo de log é mais útil para o trabalho de depuração - e a depuração provavelmente ocorre na companhia de um bug ou dois.
Um bug é (por definição) não intencional e (por convenção) comportamento indesejado em um sistema. E assim como o bug impede que o sistema funcione como deveria, o log que auxilia a depuração deve ser o mais transparente possível. É por isso que os logs são convencionalmente (e talvez mais útil) arquivos de texto simples.
Se, por qualquer motivo, o bug afetar a operação do criador de logs, e o logger for o único meio de acessar o log, a depuração só se tornará muito mais complicada. Isso só fica mais complicado quando o logger é incorporado ao componente init do sistema em questão.
Quanto tempo pode levar você - isso é totalmente dependente do bug que afeta você - que é quase sempre uma quantidade desconhecida.
E sobre a última alternativa - eles estão indocumentados ? A verdadeira resposta é que não existe código em código aberto não documentado código-fonte aberto . O próprio código, como última alternativa, é autodocumentado em todos os casos. O systemd
e seus componentes, no entanto, são normalmente documentados razoavelmente bem - apesar de seu ciclo de lançamento agressivo.
É claro que muitas vezes é indesejável classificar centenas de páginas de documentação para responder a uma pergunta obscura que você ainda tem que entender completamente a forma de perguntar - e são quase sempre as perguntas que ainda não sabe como fazer corretamente o resultado dos erros que inserimos em nosso código.