diff options
-rw-r--r-- | src/anytun-config.cpp | 14 | ||||
-rw-r--r-- | src/anytun-controld.cpp | 18 | ||||
-rw-r--r-- | src/options.cpp | 2 |
3 files changed, 26 insertions, 8 deletions
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] <target>:<level>[,<param1>[,<param2>..]]" << 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) |