Changeset 494f417 in mainline for uspace/app/logset/main.c


Ignore:
Timestamp:
2012-08-16T11:58:46Z (12 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7034b443
Parents:
eab3d04
Message:

Allow changing level of individual namespaces

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/logset/main.c

    reab3d04 r494f417  
    3838#include <io/logctl.h>
    3939
     40static log_level_t parse_log_level_or_die(const char *log_level)
     41{
     42        log_level_t result;
     43        int rc = log_level_from_str(log_level, &result);
     44        if (rc != EOK) {
     45                fprintf(stderr, "Unrecognised log level '%s': %s.\n",
     46                    log_level, str_error(rc));
     47                exit(2);
     48        }
     49        return result;
     50}
     51
     52static void usage(const char *progname)
     53{
     54        fprintf(stderr, "Usage:\n");
     55        fprintf(stderr, "  %s <default-logging-level>\n", progname);
     56        fprintf(stderr, "  %s <namespace> <logging-level>\n", progname);
     57}
     58
    4059int main(int argc, char *argv[])
    4160{
    42         /* The only action is to set default logging level. */
     61        if (argc == 2) {
     62                log_level_t new_default_level = parse_log_level_or_die(argv[1]);
     63                int rc = logctl_set_default_level(new_default_level);
    4364
    44         if (argc < 2) {
    45                 fprintf(stderr, "Usage: %s <default-logging-level>\n", argv[0]);
     65                if (rc != EOK) {
     66                        fprintf(stderr, "Failed to change default logging level: %s.\n",
     67                            str_error(rc));
     68                        return 2;
     69                }
     70        } else if (argc == 3) {
     71                log_level_t new_level = parse_log_level_or_die(argv[2]);
     72                const char *namespace = argv[1];
     73                int rc = logctl_set_namespace_level(namespace, new_level);
     74
     75                if (rc != EOK) {
     76                        fprintf(stderr, "Failed to change logging level: %s.\n",
     77                            str_error(rc));
     78                        return 2;
     79                }
     80        } else {
     81                usage(argv[0]);
    4682                return 1;
    47         }
    48 
    49         log_level_t new_default_level;
    50         int rc = log_level_from_str(argv[1], &new_default_level);
    51         if (rc != EOK) {
    52                 fprintf(stderr, "Unrecognised log level '%s': %s.\n",
    53                     argv[1], str_error(rc));
    54         }
    55 
    56         rc = logctl_set_default_level(new_default_level);
    57 
    58         if (rc != EOK) {
    59                 fprintf(stderr, "Failed to change default logging level: %s.\n",
    60                     str_error(rc));
    61                 return 2;
    6283        }
    6384
Note: See TracChangeset for help on using the changeset viewer.