Esempio n. 1
0
VCOS_STATUS_T vcos_log_test_cmd( VCOS_CMD_PARAM_T *param )
{
   if ( param->argc == 1 )
   {
      static   int seq_num = 100;

      /* No additional arguments - generate a message with an incrementing number */

      vcos_log_error( "Test message %d", seq_num );

      seq_num++;
      vcos_cmd_printf( param, "Logged 'Test message %d'\n", seq_num );
   }
   else
   {
      int   arg_idx;

      /* Arguments supplied - log these */

      for ( arg_idx = 0; arg_idx < param->argc; arg_idx++ )
      {
         vcos_log_error( "argv[%d] = '%s'", arg_idx, param->argv[arg_idx] );
      }
      vcos_cmd_printf( param, "Logged %d line(s) of test data\n", param->argc );
   }
   return VCOS_SUCCESS;
}
Esempio n. 2
0
VCOS_STATUS_T vcos_log_status_cmd( VCOS_CMD_PARAM_T *param )
{
   VCOS_LOG_CAT_T   *cat;
   VCOS_STATUS_T     status;

   vcos_mutex_lock(&lock);

   if ( param->argc == 1)
   {
      int   nw;
      int   nameWidth = 0;

      /* Print information about all of the categories. */

      for ( cat = vcos_logging_categories; cat != NULL; cat = cat->next )
      {
         nw = (int)strlen( cat->name );

         if ( nw > nameWidth )
         {
            nameWidth = nw;
         }
      }

      for ( cat = vcos_logging_categories; cat != NULL; cat = cat->next )
      {
         vcos_cmd_printf( param, "%-*s - %s\n", nameWidth, cat->name, vcos_log_level_to_string( cat->level ));
      }
   }
   else
   {
      /* Print information about a particular category */

      for ( cat = vcos_logging_categories; cat != NULL; cat = cat->next )
      {
         if ( vcos_strcmp( cat->name, param->argv[1] ) == 0 )
         {
            vcos_cmd_printf( param, "%s - %s\n", cat->name, vcos_log_level_to_string( cat->level ));
            break;
         }
      }
      if ( cat == NULL )
      {
         vcos_cmd_printf( param, "Unrecognized logging category: '%s'\n", param->argv[1] );
         status = VCOS_ENOENT;
         goto out;
      }
   }

   status = VCOS_SUCCESS;
out:
   vcos_mutex_unlock(&lock);

   return status;
}
Esempio n. 3
0
VCOS_STATUS_T vcos_log_assert_cmd( VCOS_CMD_PARAM_T *param )
{
   (void)param;

#if defined( NDEBUG ) && !defined( VCOS_RELEASE_ASSERTS )
   vcos_log_error( "vcos_asserts have been compiled out" );
   vcos_cmd_printf( param, "vcos_asserts have been compiled out - did a vcos_log_error instead\n" );
#else
   vcos_assert(0);
   vcos_cmd_printf( param, "Executed vcos_assert(0)\n" );
#endif

   return VCOS_SUCCESS;
}
Esempio n. 4
0
VCOS_STATUS_T vcos_log_set_cmd( VCOS_CMD_PARAM_T *param )
{
   VCOS_LOG_CAT_T   *cat;
   char             *name;
   char             *levelStr;
   VCOS_LOG_LEVEL_T  level;
   VCOS_STATUS_T     status;

   if ( param->argc != 3 )
   {
      vcos_cmd_usage( param );
      return VCOS_EINVAL;
   }

   name = param->argv[1];
   levelStr = param->argv[2];

   if ( vcos_string_to_log_level( levelStr, &level ) != VCOS_SUCCESS )
   {
      vcos_cmd_printf( param, "Unrecognized logging level: '%s'\n", levelStr );
      return VCOS_EINVAL;
   }

   vcos_mutex_lock(&lock);

   status = VCOS_SUCCESS;
   for ( cat = vcos_logging_categories; cat != NULL; cat = cat->next )
   {
      if ( vcos_strcmp( name, cat->name ) == 0 )
      {
         cat->level = level;
         vcos_cmd_printf( param, "Category %s level set to %s\n", name, levelStr );
         break;
      }
      else if ( vcos_strcmp( name, "*") == 0 )
      {
         cat->level = level;
         vcos_cmd_printf( param, "Category %s level set to %s\n", name, levelStr );
      }
   }
   if ( cat == NULL )
   {
      vcos_cmd_printf( param, "Unrecognized category: '%s'\n", name );
      status = VCOS_ENOENT;
   }

   vcos_mutex_unlock(&lock);

   return status;
}