Ok, assim como @ StéphaneChazelas disse que a causa possível é que ./cpp-generator é morto O terminal tem um buffer baseado em linha ao invés de um buffer de blocos no ./cpp-generator, então é por isso que o terminal imprimirá toda a saída.
Eu dei ao ./cpp-generator tempo suficiente para imprimir a mensagem, mas como ele é executado em loop eu sempre termino com ctrl + c - portanto eu o matei e buffers baseados em bloco não tem chance de gravar no arquivo ...
a solução de trabalho é executada ./cpp-generator da seguinte forma:
stdbuf -o0 cpp-generator > log.log
Obrigado @ StéphaneChazelas