С++, базовая структура ведения журнала?

Я пытаюсь сделать очень простую структуру регистратора. Код, который я написал, компилируется, но по какой-то причине не создает файл журнала. Что я делаю неправильно?

регистратор.ч

#pragma once

#include <string>
#include <fstream>
#include <iostream>

using namespace std;

struct logger
{
    ofstream file;
    string fileName;

    logger(const char* logFileName);
    void writeMessage(string msg);
    ~logger();
};

logger.cpp

#include "logger.h"

logger::logger(const char* logFileName)
{
    logger::fileName = logFileName;
    logger::file.open(logFileName, ofstream::out | ios::app | ios::trunc);
    logger::file << "";
}

void logger::writeMessage(string msg)
{
    logger::file << msg << endl;
}

logger::~logger()
{
    file.close();
}

И тогда я называю это так:

logger log("log1.txt");
log.writeMessage("just a message");

c++
person haosmark    schedule 07.10.2020    source источник
comment
Вы не можете одновременно добавлять и обрезать файл, это не имеет смысла. Вы также должны проверить, что open успешно   -  person Alan Birtles    schedule 07.10.2020