Tidy up logging a bit. Make it configurable from the GUI.
[dcpomatic.git] / src / tools / dcpomatic.cc
index 28074a4ba39e8703d493665f24159cefb88a589f..d092992a17a31c640141c3791c9ba3c33bc719d7 100644 (file)
@@ -74,7 +74,7 @@ using boost::dynamic_pointer_cast;
 static FilmEditor* film_editor = 0;
 static FilmViewer* film_viewer = 0;
 static shared_ptr<Film> film;
-static std::string log_level;
+static std::string log_types = "general,log,warning";
 static std::string film_to_load;
 static std::string film_to_create;
 static std::string content_to_add;
@@ -157,7 +157,7 @@ load_film (boost::filesystem::path file)
        for (list<string>::const_iterator i = notes.begin(); i != notes.end(); ++i) {
                error_dialog (0, std_to_wx (*i));
        }
-       film->log()->set_level (log_level);
+       film->log()->set_types (log_types);
 }
 
 #define ALWAYS                  0x0
@@ -401,7 +401,7 @@ private:
                        maybe_save_then_delete_film ();
                        film.reset (new Film (d->get_path ()));
                        film->write_metadata ();
-                       film->log()->set_level (log_level);
+                       film->log()->set_types (log_types);
                        film->set_name (boost::filesystem::path (d->get_path()).filename().generic_string());
                        set_film ();
                }
@@ -609,7 +609,7 @@ private:
 };
 
 static const wxCmdLineEntryDesc command_line_description[] = {
-       { wxCMD_LINE_OPTION, "l", "log", "set log level (silent, verbose or timing)", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
+       { wxCMD_LINE_OPTION, "l", "log", "set message types to log (general,warning,error,timing)", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
        { wxCMD_LINE_SWITCH, "n", "new", "create new film", wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
        { wxCMD_LINE_OPTION, "c", "content", "add content file", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
        { wxCMD_LINE_PARAM, 0, 0, "film to load or create", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
@@ -668,7 +668,7 @@ class App : public wxApp
                if (!film_to_create.empty ()) {
                        film.reset (new Film (film_to_create));
                        film->write_metadata ();
-                       film->log()->set_level (log_level);
+                       film->log()->set_types (log_types);
                        film->set_name (boost::filesystem::path (film_to_create).filename().generic_string ());
                }
 
@@ -728,7 +728,7 @@ class App : public wxApp
 
                wxString log;
                if (parser.Found (wxT ("log"), &log)) {
-                       log_level = wx_to_std (log);
+                       log_types = wx_to_std (log);
                }
 
                return true;