summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/defaultsettings.cpp2
-rw-r--r--src/main.cpp40
2 files changed, 26 insertions, 16 deletions
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index d3a455ccb..6cdaaa496 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -183,7 +183,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("congestion_control_max_rate", "400");
settings->setDefault("congestion_control_min_rate", "10");
settings->setDefault("remote_media", "");
-
+ settings->setDefault("debug_log_level", "0");
// physics stuff
settings->setDefault("movement_acceleration_default", "3");
settings->setDefault("movement_acceleration_air", "2");
diff --git a/src/main.cpp b/src/main.cpp
index fd3643e60..9287ec760 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -887,22 +887,7 @@ int main(int argc, char *argv[])
fs::CreateDir(porting::path_user);
init_gettext((porting::path_share + DIR_DELIM + "locale").c_str());
-
- // Initialize debug streams
-#define DEBUGFILE "debug.txt"
-#if RUN_IN_PLACE
- std::string logfile = DEBUGFILE;
-#else
- std::string logfile = porting::path_user+DIR_DELIM+DEBUGFILE;
-#endif
- if(cmd_args.exists("logfile"))
- logfile = cmd_args.get("logfile");
- if(logfile != "")
- debugstreams_init(false, logfile.c_str());
- else
- debugstreams_init(false, NULL);
- infostream<<"logfile = "<<logfile<<std::endl;
infostream<<"path_share = "<<porting::path_share<<std::endl;
infostream<<"path_user = "<<porting::path_user<<std::endl;
@@ -995,6 +980,31 @@ int main(int argc, char *argv[])
if(configpath == "")
configpath = filenames[0];
}
+
+ // Initialize debug streams
+#define DEBUGFILE "debug.txt"
+#if RUN_IN_PLACE
+ std::string logfile = DEBUGFILE;
+#else
+ std::string logfile = porting::path_user+DIR_DELIM+DEBUGFILE;
+#endif
+ if(cmd_args.exists("logfile"))
+ logfile = cmd_args.get("logfile");
+
+ log_remove_output(&main_dstream_no_stderr_log_out);
+ int loglevel = g_settings->getS32("debug_log_level");
+
+ if (loglevel == 0) //no logging
+ logfile = "";
+ else if (loglevel > 0 && loglevel <= LMT_NUM_VALUES)
+ log_add_output_maxlev(&main_dstream_no_stderr_log_out, (LogMessageLevel)(loglevel - 1));
+
+ if(logfile != "")
+ debugstreams_init(false, logfile.c_str());
+ else
+ debugstreams_init(false, NULL);
+
+ infostream<<"logfile = "<<logfile<<std::endl;
// Initialize random seed
srand(time(0));