Razón Artificial

La ciencia y el arte de crear videojuegos

Creando un archivo de log en C++

Escrito por adrigm el 25 de septiembre de 2011 en Programación | 10 Comentarios.

Cuando se está haciendo un programa es normal utilizar la salida estándar para ir poniendo mensajes de resultados parciales y pruebas para ver si las cosas están sucediendo como se esperan. Cuando el software que estamos creando alcanza mayor complejidad estos mensajes no son suficientes, es aquí donde entran los archivos de log. Esto son básicamente ficheros de texto que van guardando esto mensajes para luego poder analizarlos en profundidad.

Hay muchas maneras de crear un archivo de log algunas más complejas y con mas datos como hora, fehcas, colores, etc y otras mas sencillas. Aquí voy a mostrar una manera sencilla de crear uno de estos archivos utilizando las grandes herramientas de control de flujo de C++. Como no hay mucho más que explicar simplemente dejo el código.

#include <string>
#include <fstream>

int main()
{
	// Declaramos las variables
	std::ofstream log;
	std::string log_file;
	
	// Creamos el archivo de log
	log_file.assign("log.txt");
	log.open(log_file.c_str());
	
	// Escribimos una línea con el nombre del archivo
	log << "LogFile: " << log_file << std::endl;

	// Escribimos en el log
	log << "Esta es una linea del log" << std::endl;
	
	// Cerramos el archivo
	log.close();
}

Como ves no es un log con mil pijerías pero es rápido y eficiente, podemos usar simplemente:

log << "Lo que quiera poner en el fichero";

Como lo haríamos con la salida estándar con cout.

El resultado sería un archivo log.txt con el siguiente contenido:

LogFile: log.txt
Esta es una linea del log

Las herramientas de control de flujo de C++ que están en la biblioteca estándar son muy poderosas, en próximos artículos hablaremos más de ellas.

10 Comentarios en "Creando un archivo de log en C++"

  1. dónde se guarda el archivo log.txt?

  2. Mixan dice:

    Como hago para que no se sobre escriba el log.txt. ejm si ya tengo

    LogFile: log.txt
    Esta es una linea del log

    y ahora quiero insertar otra fila con “ESTA ES OTRA FILA”

    LogFile: log.txt
    Esta es una linea del log
    “ESTA ES OTRA FILA”

    como hago para q innserte la 3ra fila ??????????????????????????

  3. si quiero guardarlos en una ruta especifica, como podria hacerlo?

  4. Mauricio dice:

    Esta muy interesante crear pero me gustaría saber como leer todo lo que esta dentro del archivo .log si me ayudan les agradecería un mundo

Deja un comentario