I need very simple logger to my application. But sometimes I don't want to use this logger to speed up my application.

My logger looks like:

```
class Logger
{
    public:
        Logger(bool isActive = true)
        {
            mIsActive = isActive;
            if (isActive)
            {
                out.open(pathToLogFile);
            }
        }

        static std::ofstream& log()
        {
            return out;
        }
    private:
        static bool mIsActive;
        static std::ofstream out;
};

```

In my application I use it as:

```
Logger(true);  // in one place
Logger::log() << "Log" << std::endl;

```

What if I don't want to use this logger?

```
Logger(false);  // in one place. it doesn't open any file.
Logger::log() << "Log" << std::endl; // it shouldn't write anywhere

```

What is behavior of << operator if I haven't opened file? Is it safe? Is it very fast? Is it good idea??