From 1501e7126a04f12363b3a03d19fe0e0bae91b598 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 22 Feb 2009 14:32:51 +0000 Subject: added log target support to anytun-contorld and anytun-config --- src/anytun-config.cpp | 14 ++++++++++++-- src/anytun-controld.cpp | 18 +++++++++++++----- src/options.cpp | 2 +- 3 files changed, 26 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/anytun-config.cpp b/src/anytun-config.cpp index 07344c1..d5dedf9 100644 --- a/src/anytun-config.cpp +++ b/src/anytun-config.cpp @@ -89,21 +89,31 @@ int main(int argc, char* argv[]) int ret=0; try { - cLog.addTarget("stderr:4"); bool result = gOpt.parse(argc, argv); if(!result) { gOpt.printUsage(); exit(0); } + StringList targets = gOpt.getLogTargets(); + if(targets.empty()) { + cLog.addTarget("stderr:4"); + } + else { + StringList::const_iterator it; + for(it = targets.begin();it != targets.end(); ++it) + cLog.addTarget(*it); + } } catch(syntax_error& e) { std::cerr << e << std::endl; - cLog.msg(Log::PRIO_ERR) << "exitting after syntax error"; gOpt.printUsage(); exit(-1); } + gOpt.parse_post(); // print warnings + + ConnectionList cl; SyncQueue queue; diff --git a/src/anytun-controld.cpp b/src/anytun-controld.cpp index 2c6c619..372b0bb 100644 --- a/src/anytun-controld.cpp +++ b/src/anytun-controld.cpp @@ -97,26 +97,34 @@ int main(int argc, char* argv[]) bool daemonized=false; try { - cLog.addTarget("syslog:7,anytun-controld,daemon"); - cLog.msg(Log::PRIO_NOTICE) << "anytun-controld started..."; - try { bool result = gOpt.parse(argc, argv); if(!result) { - cLog.msg(Log::PRIO_NOTICE) << "printing help text and exitting"; gOpt.printUsage(); exit(0); } + StringList targets = gOpt.getLogTargets(); + if(targets.empty()) { + cLog.addTarget("syslog:7,anytun-controld,daemon"); + } + else { + StringList::const_iterator it; + for(it = targets.begin();it != targets.end(); ++it) + cLog.addTarget(*it); + } } catch(syntax_error& e) { std::cerr << e << std::endl; - cLog.msg(Log::PRIO_NOTICE) << "exitting after syntax error"; gOpt.printUsage(); exit(-1); } + cLog.msg(Log::PRIO_NOTICE) << "anytun-controld started..."; + gOpt.parse_post(); // print warnings + + std::ifstream file( gOpt.getFileName().c_str() ); if( file.is_open() ) file.close(); diff --git a/src/options.cpp b/src/options.cpp index ca55856..6aa795a 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -453,7 +453,7 @@ void Options::printUsage() #endif std::cout << " [-L|--log] :[,[,..]]" << std::endl; - std::cout << " add a log target" << std::endl; + std::cout << " add a log target, can be invoked several times" << std::endl; #if defined(ANYCTR_OPTIONS) -- cgit v1.2.3