Daemon: added default parameters.

This commit is contained in:
Alexey Milovidov 2010-11-23 18:55:59 +00:00
parent fc5792169e
commit fcdd6e100d

View File

@ -50,12 +50,12 @@ void Daemon::reloadConfiguration()
try try
{ {
if( !config().hasProperty("config-file") ) throw Yandex::BException("config-file and pid-file should be specified"); loadConfiguration(config().getString("config-file", "config.xml"));
//config().remove(Poco::Util::Application::PRIO_DEFAULT);
loadConfiguration(config().getString("config-file")); bool log_to_console = !config().getBool("application.runAsDaemon", false);
// Перейдём в каталожек, чтобы нормально писать логи и коры // Перейдём в каталожек, чтобы нормально писать логи и коры
if( config().hasProperty("logger.log") && !config().hasProperty("logger.console") ) if(config().hasProperty("logger.log") && !log_to_console)
{ {
std::string path = Yandex::mkdir( config().getString("logger.log") ); std::string path = Yandex::mkdir( config().getString("logger.log") );
if (config().getBool("application.runAsDaemon", false) if (config().getBool("application.runAsDaemon", false)
@ -111,7 +111,9 @@ void Daemon::buildLoggers()
try try
{ {
if( config().hasProperty("logger.log") && !config().hasProperty("logger.console") ) bool log_to_console = !config().getBool("application.runAsDaemon", false);
if(config().hasProperty("logger.log") && !log_to_console)
{ {
std::cerr << "Should logs to " << config().getString("logger.log") << std::endl; std::cerr << "Should logs to " << config().getString("logger.log") << std::endl;
@ -163,7 +165,7 @@ void Daemon::buildLoggers()
ConsoleChannel *file = new ConsoleChannel(); ConsoleChannel *file = new ConsoleChannel();
logger().close(); logger().close();
logger().setChannel( file ); logger().setChannel( file );
logger().warning("Log file isn't specified. Logging to console"); logger().warning("Logging to console");
} }
} }
catch(...) catch(...)
@ -217,8 +219,7 @@ void Daemon::initialize(Application& self)
ServerApplication::initialize(self); ServerApplication::initialize(self);
// Создадим pid-file // Создадим pid-file
if( !config().hasProperty("pid") ) throw Yandex::BException("config-file and pid-file should be specified"); m_Pid.seed(config().getString("pid", "pid"));
m_Pid.seed( config().getString("pid") );
// Считаем конфигурацию // Считаем конфигурацию
reloadConfiguration(); reloadConfiguration();
@ -288,11 +289,4 @@ void Daemon::defineOptions(Poco::Util::OptionSet& _options)
.argument ("<file>") .argument ("<file>")
.binding("pid") .binding("pid")
); );
_options.addOption(
Poco::Util::Option ("console", "", "print logs on console only")
.required (false)
.repeatable (false)
.binding("logger.console")
);
} }