Add output levels --info and --trace (--verbose is now more verbose)
authorPerttu Ahola <celeron55@gmail.com>
Thu, 22 Mar 2012 12:10:24 +0000 (14:10 +0200)
committerPerttu Ahola <celeron55@gmail.com>
Thu, 22 Mar 2012 12:10:37 +0000 (14:10 +0200)
doc/minetest.6
doc/minetestserver.6
src/main.cpp
src/socket.cpp
src/socket.h

index 2a39b870d01a48d30df0d15dcfa6985741cedf5b..0d6433f29d8430771e6742962cc7ce52682f75a1 100644 (file)
@@ -61,9 +61,15 @@ Run dedicated server
 \-\-speedtests
 Run speed tests
 .TP
-\-\-verbose
+\-\-info
 Print more information to console
 .TP
+\-\-verbose
+Print even more information to console
+.TP
+\-\-trace
+Print enormous amounts of information to console
+.TP
 \-\-world <value>
 Set world path
 
index dffe0fc8ebeafc43abb8e22f42c04859058383ea..81203954dfad883a51dc80e83905556ad4064887 100644 (file)
@@ -40,9 +40,15 @@ Same as --world (deprecated)
 \-\-port <value>
 Set network port (UDP) to use
 .TP
-\-\-verbose
+\-\-info
 Print more information to console
 .TP
+\-\-verbose
+Print even more information to console
+.TP
+\-\-trace
+Print enormous amounts of information to console
+.TP
 \-\-world <value>
 Set world path
 
index 75ff569aa4ca16968272fccf55979f9b0dfe29cf..fe1bcd45024d500f125900f1522479f3787fc8bd 100644 (file)
@@ -90,8 +90,6 @@ Profiler *g_profiler = &main_profiler;
 // Connection
 std::ostream *dout_con_ptr = &dummyout;
 std::ostream *derr_con_ptr = &verbosestream;
-//std::ostream *dout_con_ptr = &infostream;
-//std::ostream *derr_con_ptr = &errorstream;
 
 // Server
 std::ostream *dout_server_ptr = &infostream;
@@ -779,8 +777,12 @@ int main(int argc, char *argv[])
                        "Same as --world (deprecated)"));
        allowed_options.insert("world", ValueSpec(VALUETYPE_STRING,
                        "Set world path (implies local game)"));
-       allowed_options.insert("verbose", ValueSpec(VALUETYPE_FLAG,
+       allowed_options.insert("info", ValueSpec(VALUETYPE_FLAG,
                        "Print more information to console"));
+       allowed_options.insert("verbose", ValueSpec(VALUETYPE_FLAG,
+                       "Print even more information to console"));
+       allowed_options.insert("trace", ValueSpec(VALUETYPE_FLAG,
+                       "Print enormous amounts of information to log and console"));
        allowed_options.insert("logfile", ValueSpec(VALUETYPE_STRING,
                        "Set logfile path ('' = no logging)"));
        allowed_options.insert("gameid", ValueSpec(VALUETYPE_STRING,
@@ -833,9 +835,19 @@ int main(int argc, char *argv[])
                Low-level initialization
        */
        
+       // If trace is enabled, enable logging of certain things
+       if(cmd_args.getFlag("trace")){
+               dstream<<"Enabling trace level debug output"<<std::endl;
+               dout_con_ptr = &verbosestream;
+               socket_enable_debug_output = true;
+       }
        // In certain cases, output info level on stderr
-       if(cmd_args.getFlag("verbose") || cmd_args.getFlag("speedtests"))
+       if(cmd_args.getFlag("info") || cmd_args.getFlag("verbose") ||
+                       cmd_args.getFlag("trace") || cmd_args.getFlag("speedtests"))
                log_add_output(&main_stderr_log_out, LMT_INFO);
+       // In certain cases, output verbose level on stderr
+       if(cmd_args.getFlag("verbose") || cmd_args.getFlag("trace"))
+               log_add_output(&main_stderr_log_out, LMT_VERBOSE);
 
        porting::signal_handler_init();
        bool &kill = *porting::signal_handler_killstatus();
index ea65ffda3cca3be8360ba7e4a7a70411619a2e49..caf1895fe6037596e3d570f768868b89b48fb711 100644 (file)
@@ -52,9 +52,8 @@ typedef int socket_t;
 #include <errno.h>
 #include "utility.h"
 
-// Debug printing options
-// Set to 1 for debug output
-#define DP 0
+bool socket_enable_debug_output = false;
+#define DP socket_enable_debug_output
 // This is prepended to everything printed here
 #define DPS ""
 
index fe542dfcce3079f918fa6aa1a833d99c595dfb23..ac26b575c78b346a21357bf329549165400d0e4d 100644 (file)
@@ -23,6 +23,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <ostream>
 #include "exceptions.h"
 
+extern bool socket_enable_debug_output;
+
 class SocketException : public BaseException
 {
 public: