aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/DabMod.cpp8
-rw-r--r--src/Log.h4
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);
}
diff --git a/src/Log.h b/src/Log.h
index dc686fc..617293f 100644
--- a/src/Log.h
+++ b/src/Log.h
@@ -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);
}