]> granicus.if.org Git - icinga2/commitdiff
Implemented --version and made --help output prettier.
authorGunnar Beutner <gunnar.beutner@netways.de>
Sun, 3 Feb 2013 00:21:11 +0000 (01:21 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Sun, 3 Feb 2013 00:21:11 +0000 (01:21 +0100)
icinga-app/icinga.cpp
lib/base/dynamicobject.cpp
lib/icinga/icingaapplication.cpp

index 670a6339a48007df2af9501b81cd385c0485c3d8..9f6a2db051833b7a9dd8025fe5d65d38fa8450ba 100644 (file)
@@ -70,15 +70,10 @@ int main(int argc, char **argv)
        Application::SetPkgDataDir(ICINGA_PKGDATADIR);
 #endif /* ICINGA_PKGDATADIR */
 
-       Logger::Write(LogInformation, "icinga-app", "Icinga application loader"
-#ifndef _WIN32
-               " (version: " ICINGA_VERSION ")"
-#endif /* _WIN32 */
-       );
-
        po::options_description desc("Supported options");
        desc.add_options()
                ("help,h", "show this help message")
+               ("version,V", "show version information")
                ("library,l", po::value<vector<String> >(), "load a library")
                ("include,I", po::value<vector<String> >(), "add include search directory")
                ("config,c", po::value<vector<String> >(), "parse a configuration file")
@@ -91,7 +86,7 @@ int main(int argc, char **argv)
 
        try {
                po::store(po::parse_command_line(argc, argv, desc), vm);
-       } catch (const po::unknown_option& ex) {
+       } catch (const exception& ex) {
                stringstream msgbuf;
                msgbuf << "Error while parsing command-line options: " << ex.what();
                Logger::Write(LogCritical, "icinga-app", msgbuf.str());
@@ -103,11 +98,35 @@ int main(int argc, char **argv)
        if (vm.count("debug"))
                Application::SetDebugging(true);
 
+       if (vm.count("help") || vm.count("version")) {
+               std::cout << "Icinga application loader"
+#ifndef _WIN32
+                         << " (version: " << ICINGA_VERSION << ")"
+#endif /* _WIN32 */
+                         << std::endl
+                         << "Copyright (c) 2012-2013 Icinga Development Team (http://www.icinga.org)" << std::endl
+                         << "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl2.html>" << std::endl
+                         << "This is free software: you are free to change and redistribute it." << std::endl
+                         << "There is NO WARRANTY, to the extent permitted by law." << std::endl;
+
+               if (vm.count("version"))
+                       return EXIT_SUCCESS;
+       }
+
        if (vm.count("help")) {
-               std::cout << desc << "\n";
+               std::cout << std::endl
+                         << desc << std::endl
+                         << "Report bugs at <https://dev.icinga.org/>" << std::endl
+                         << "Icinga home page: <http://www.icinga.org/>" << std::endl;
                return EXIT_SUCCESS;
        }
 
+       Logger::Write(LogInformation, "icinga-app", "Icinga application loader"
+#ifndef _WIN32
+           " (version: " ICINGA_VERSION ")"
+#endif /* _WIN32 */
+           );
+
        Component::AddSearchDir(Application::GetPkgLibDir());
 
        Utility::LoadIcingaLibrary("icinga", false);
index 9576de49856f0ea515424fcabb8d8bd0585541b2..f4f9e765f9c3374e110dfccd8e916adddafa997e 100644 (file)
@@ -423,7 +423,7 @@ void DynamicObject::RestoreObjects(const String& filename)
 
        stringstream msgbuf;
        msgbuf << "Restored " << restored << " objects";
-       Logger::Write(LogInformation, "base", msgbuf.str());
+       Logger::Write(LogDebug, "base", msgbuf.str());
 }
 
 void DynamicObject::DeactivateObjects(void)
index 4b3e5edc8cfcba3d0db63017b6aac12067377a66..91a58696adcda39262c644af94877cfdffd5a349 100644 (file)
@@ -52,7 +52,7 @@ IcingaApplication::IcingaApplication(const Dictionary::Ptr& serializedUpdate)
  */
 int IcingaApplication::Main(void)
 {
-       Logger::Write(LogInformation, "icinga", "In IcingaApplication::Main()");
+       Logger::Write(LogDebug, "icinga", "In IcingaApplication::Main()");
 
        m_StartTime = Utility::GetTime();