diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/DabMod.cpp | 8 | ||||
-rw-r--r-- | src/Log.h | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/DabMod.cpp b/src/DabMod.cpp index 0d899d1..d3cc877 100644 --- a/src/DabMod.cpp +++ b/src/DabMod.cpp @@ -313,16 +313,18 @@ int main(int argc, char* argv[]) } if (pt.get("log.filelog", 0) == 1) { + std::string logfilename; try { - std::string logfilename = pt.get<std::string>("fileoutput.filename"); - LogToFile* log_file = new LogToFile(logfilename); - logger.register_backend(log_file); + logfilename = pt.get<std::string>("log.filename"); } catch (std::exception &e) { std::cerr << "Error: " << e.what() << "\n"; std::cerr << " Configuration enables file log, but does not specify log filename\n"; goto END_MAIN; } + + LogToFile* log_file = new LogToFile(logfilename); + logger.register_backend(log_file); } @@ -92,7 +92,8 @@ class LogToFile : public LogBackend { LogToFile(std::string filename) { name = "FILE"; log_filename = filename; - log_stream.open(filename.c_str(), std::ios::app); + + log_stream.open(filename.c_str(), std::ios::out | std::ios::app); if (!log_stream.is_open()) { throw new std::runtime_error("Cannot open log file !"); } @@ -113,6 +114,7 @@ class LogToFile : public LogBackend { va_start(arg_ptr, fmt); snprintf(message, 200, fmt, arg_ptr); log_stream << "CRC-DABMOD: " << log_level_text[(size_t)level] << ": " << message << std::endl; + log_stream.flush(); va_end(arg_ptr); } |