diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-07-19 19:03:50 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-07-19 19:03:50 +0000 |
commit | 3bacefeb6c9779ada8199ceca5314433e56975a7 (patch) | |
tree | bae4f10754c72c3868dd1a86c40114d1229b47d3 | |
parent | d23e5618e9b46495ba0e122ee56019e454f0d9c5 (diff) | |
download | ATCD-3bacefeb6c9779ada8199ceca5314433e56975a7.tar.gz |
-rw-r--r-- | CIAO/DAnCE/Logger/Logger_Service.cpp | 81 |
1 files changed, 34 insertions, 47 deletions
diff --git a/CIAO/DAnCE/Logger/Logger_Service.cpp b/CIAO/DAnCE/Logger/Logger_Service.cpp index 62299a9ef93..7c1bbfdbf86 100644 --- a/CIAO/DAnCE/Logger/Logger_Service.cpp +++ b/CIAO/DAnCE/Logger/Logger_Service.cpp @@ -41,56 +41,43 @@ namespace DAnCE void Logger_Service::parse_args (int argc, ACE_TCHAR **argv) { - DANCE_TRACE ("DAnCE_Logger::parse_args"); - - ACE_Get_Opt get_opts (argc, - argv, - "l:tf:", - 0, - 0, - ACE_Get_Opt::RETURN_IN_ORDER); - - get_opts.long_option (ACE_TEXT("log-level"), 'l', ACE_Get_Opt::ARG_OPTIONAL); - get_opts.long_option (ACE_TEXT("trace"), 't', ACE_Get_Opt::ARG_REQUIRED); - get_opts.long_option (ACE_TEXT("log-file"), 'f', ACE_Get_Opt::ARG_OPTIONAL); - - char c; - int level = 0; - while ( (c = get_opts ()) != -1) + const ACE_TCHAR *shortl = ACE_TEXT("-l"); + const ACE_TCHAR *longl = ACE_TEXT("--log-level"); + const ACE_TCHAR *tracel = ACE_TEXT("--trace"); + // const ACE_TCHAR *traces = "-t"; + const ACE_TCHAR *lfl = ACE_TEXT("--log-file"); + const ACE_TCHAR *lfs = ACE_TEXT("-f"); + + // We need to actually FIND the -l option, as the get_opt won't ignore + // the ORB options and such. + for (int i = 0; i < argc; ++i) { - switch (c) + if (//ACE_OS::strncmp (argv[i], traces, 2) == 0 || + ACE_OS::strncmp (argv[i], tracel, 7) == 0) { - case 'l': - DANCE_DEBUG ((LM_TRACE, DLINFO ACE_TEXT ("DAnCE_Logger::parse_args - ") - ACE_TEXT ("Log level is %s\n"), - get_opts.opt_arg ())); - level = ACE_OS::atoi (get_opts.opt_arg ()); - if (level != 0) - this->log_level_ = level; - break; - case 't': - DANCE_DEBUG ((LM_TRACE, DLINFO ACE_TEXT ("DAnCE_Logger::parse_args - ") - ACE_TEXT ("Trace enabled\n"))); this->trace_ = true; - break; - - case 'f': - DANCE_DEBUG ((LM_TRACE, DLINFO ACE_TEXT ("DAnCE_Logger::parse_args - ") - ACE_TEXT ("Log file becomes %s\n"), - get_opts.opt_arg ())); - this->filename_ = get_opts.opt_arg (); - break; - case 'h': - //case '?': // Display help for use of the server. - //default: - DANCE_ERROR ((LM_ERROR, - "Log service options: %C\n" - "\t-l|--log-level <level>\t\tLog level [1-10]\n" - "\t-t|--trace\t\tEnable trace. Log level is set to 10\n" - "\t-f|--log-file <file name> \t\tLog file\n" - "\t-h|--help\t\t\tThis help message\n" - ,argv [0])); - break; + continue; + } + + if (ACE_OS::strncmp (argv[i], shortl, 2) == 0 || + ACE_OS::strncmp (argv[i], longl, 11 ) == 0) + { + if ((i + 1) < argc && *argv[i + 1] != '-') + { + int level = ACE_OS::atoi (argv[i + 1]); + + if (level != 0) + this->log_level_ = level; + } + } + + if (ACE_OS::strncmp (argv[i], lfs, 2) == 0 || + ACE_OS::strncmp (argv[i], lfl, 10 ) == 0) + { + if ((i + 1) < argc && *argv[i + 1] != '-') + { + this->filename_ = ACE_TEXT_ALWAYS_CHAR (argv[i+1]); + } } } } |