Changeset 793cce15 in mainline for uspace/lib/c/include/io/log.h


Ignore:
Timestamp:
2012-08-16T14:22:56Z (12 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
32b26cf7
Parents:
9a53e00
Message:

Add logging contexts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/io/log.h

    r9a53e00 r793cce15  
    3636
    3737#include <stdarg.h>
     38#include <inttypes.h>
    3839#include <bool.h>
    3940
     
    5051} log_level_t;
    5152
     53typedef sysarg_t log_context_t;
     54#define PRIlogctx PRIxn
     55#define LOG_CONTEXT_DEFAULT 0
     56
    5257extern const char *log_level_str(log_level_t);
    5358extern int log_level_from_str(const char *, log_level_t *);
    5459
    55 extern bool _log_shall_record(log_level_t);
     60extern bool _log_shall_record(log_context_t, log_level_t);
    5661extern int log_init(const char *, log_level_t);
    5762
    58 #define log_msg(level, format, ...) \
     63extern log_context_t log_context_create(const char *);
     64
     65#define log_ctx_msg(context, level, format, ...) \
    5966        do { \
    60                 if (_log_shall_record((level))) { \
    61                         _log_msg(level, format, ##__VA_ARGS__); \
     67                if (_log_shall_record((context), (level))) { \
     68                        _log_ctx_msg((context), (level), format, ##__VA_ARGS__); \
    6269                } \
    6370        } while (false)
    6471
    65 #define log_msgv(level, format, args) \
     72#define log_ctx_msgv(context, level, format, args) \
    6673        do { \
    67                 if (_log_shall_record((level))) { \
    68                         _log_msgv(level, format, args); \
     74                if (_log_shall_record((context), (level))) { \
     75                        _log_ctx_msgv((context), (level), format, args); \
    6976                } \
    7077        } while (false)
    7178
    72 extern void _log_msg(log_level_t, const char *, ...);
    73 extern void _log_msgv(log_level_t, const char *, va_list);
     79#define log_msg(level, format, ...) \
     80        log_ctx_msg(LOG_CONTEXT_DEFAULT, (level), (format), ##__VA_ARGS__)
     81#define log_msgv(level, format, args) \
     82        log_ctx_msgv(LOG_CONTEXT_DEFAULT, (level), (format), (args))
     83
     84extern void _log_ctx_msg(log_context_t, log_level_t, const char *, ...);
     85extern void _log_ctx_msgv(log_context_t, log_level_t, const char *, va_list);
    7486
    7587#endif
Note: See TracChangeset for help on using the changeset viewer.