Esa es una excelente pregunta.
La primera razón es "¿por qué no?" Si está utilizando un marco de trabajo de registro, obtendrá los beneficios de mantenimiento de usar algo que ya está empaquetado.
La segunda razón es que el registro es sutil.Diferentes hilos, sesiones, clases e instancias de objetos pueden entrar en juego en el registro, y no quiere tener que resolver este problema sobre la marcha.
La tercera razón es que puede encontrar un cuello de botella de rendimiento en su código. Averiguar que su código es lento porque está escribiendo en un archivo sin almacenamiento en búfer o su disco duro se ha quedado sin espacio en el disco porque el registrador no se desplaza y comprime archivos viejos puede ser un dolor en el cuello.
La cuarta razón es que es posible que desee agregar a syslog, o escribir en una base de datos, o en un socket, o en diferentes archivos. Los marcos tienen esta funcionalidad incorporada.
Pero en realidad, la primera respuesta es la mejor; hay muy poco beneficio para escribir uno propio, y un montón de inconvenientes.
"brain-dead simple para anexar a un archivo" - vs multithread y especialmente multinúcleo donde los hilos realmente se ejecutan de manera simultánea? ETW de Microsoft ofrece por buffer de procesador ETW-entradas, que me parece que es la solución ideal. – pngaz