anchor.diff:      safe = 'Error converting provided object $o into String\nException:\t$e\Stack:\t$stack';
     }
   
  -  if(_completionLogger == null) {
  -    _completionLogger = new logging.Logger('bot_io.completion');
  -  }
  -
  -  _completionLogger.info(safe);
  -}
  +  final startArgs = ['bot_io', 'completion'];
  +  if(subContexts != null) {
  +    startArgs.addAll(subContexts);
  +  }
  +
  +  final loggerName = startArgs.join('.');
  +
  +  final logger = new logging.Logger(loggerName);
  +
  +  logger.info(safe);
  +}
  
positive.code:     return options;
    }
  
    _log('*');
    _log('*');
    _log('* Completion started');
    _log('Script:                  $scriptName');
    if(args.length >= 3 &&
        args[0] == COMPLETION_COMMAND_NAME &&
        args[1] == '--') {
      try {
        _log('completion-reported exe: ${args[2]}');
  
        final env = Platform.environment;
  
negative.code:   final optionsDefinedInArgs = alignedArgsOptions.take(alignedArgsOptions.length - 1)
        .where((o) => o != null)
        .toSet();
    sublog('defined options: ${optionsDefinedInArgs.map((o) => o.name).toSet()}');
  
    final parserOptionCompletions = $(_getParserOptionCompletions(parser, optionsDefinedInArgs))
        .toReadOnlyCollection();
  