From: Gunnar Beutner Date: Sun, 3 Feb 2013 00:21:11 +0000 (+0100) Subject: Implemented --version and made --help output prettier. X-Git-Tag: v0.0.2~570 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5774792a23480e255b7265e2558f14b54830f2db;p=icinga2 Implemented --version and made --help output prettier. --- diff --git a/icinga-app/icinga.cpp b/icinga-app/icinga.cpp index 670a6339a..9f6a2db05 100644 --- a/icinga-app/icinga.cpp +++ b/icinga-app/icinga.cpp @@ -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 >(), "load a library") ("include,I", po::value >(), "add include search directory") ("config,c", po::value >(), "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 " << 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 " << std::endl + << "Icinga home page: " << 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); diff --git a/lib/base/dynamicobject.cpp b/lib/base/dynamicobject.cpp index 9576de498..f4f9e765f 100644 --- a/lib/base/dynamicobject.cpp +++ b/lib/base/dynamicobject.cpp @@ -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) diff --git a/lib/icinga/icingaapplication.cpp b/lib/icinga/icingaapplication.cpp index 4b3e5edc8..91a58696a 100644 --- a/lib/icinga/icingaapplication.cpp +++ b/lib/icinga/icingaapplication.cpp @@ -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();