Changeset 793cce15 in mainline for uspace/lib/c/generic/io/log.c
- Timestamp:
- 2012-08-16T14:22:56Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 32b26cf7
- Parents:
- 9a53e00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/io/log.c
r9a53e00 r793cce15 86 86 } 87 87 88 static int logger_message(async_sess_t *session, log_ level_t level, const char *message)88 static int logger_message(async_sess_t *session, log_context_t ctx, log_level_t level, const char *message) 89 89 { 90 90 async_exch_t *exchange = async_exchange_begin(session); … … 93 93 } 94 94 95 aid_t reg_msg = async_send_1(exchange, LOGGER_MESSAGE, level, NULL); 95 aid_t reg_msg = async_send_2(exchange, LOGGER_MESSAGE, 96 ctx, level, NULL); 96 97 int rc = async_data_write_start(exchange, message, str_size(message)); 97 98 sysarg_t reg_msg_rc; … … 241 242 } 242 243 243 bool _log_shall_record(log_level_t level) 244 /** Create logging context. 245 * 246 * This function always returns a valid context. 247 */ 248 log_context_t log_context_create(const char *name) 249 { 250 async_exch_t *exchange = async_exchange_begin(logger_session); 251 if (exchange == NULL) 252 return LOG_CONTEXT_DEFAULT; 253 254 ipc_call_t answer; 255 aid_t reg_msg = async_send_0(exchange, LOGGER_CREATE_CONTEXT, &answer); 256 int rc = async_data_write_start(exchange, name, str_size(name)); 257 sysarg_t reg_msg_rc; 258 async_wait_for(reg_msg, ®_msg_rc); 259 260 async_exchange_end(exchange); 261 262 if ((rc != EOK) || (reg_msg_rc != EOK)) 263 return LOG_CONTEXT_DEFAULT; 264 265 return IPC_GET_ARG1(answer); 266 } 267 268 bool _log_shall_record(log_context_t context, log_level_t level) 244 269 { 245 270 return get_current_observed_level() >= level; … … 253 278 * @param fmt Format string (no traling newline). 254 279 */ 255 void _log_ msg(log_level_t level, const char *fmt, ...)280 void _log_ctx_msg(log_context_t ctx, log_level_t level, const char *fmt, ...) 256 281 { 257 282 va_list args; 258 283 259 284 va_start(args, fmt); 260 _log_ msgv(level, fmt, args);285 _log_ctx_msgv(ctx, level, fmt, args); 261 286 va_end(args); 262 287 } … … 269 294 * @param fmt Format string (no trailing newline) 270 295 */ 271 void _log_ msgv(log_level_t level, const char *fmt, va_list args)296 void _log_ctx_msgv(log_context_t ctx, log_level_t level, const char *fmt, va_list args) 272 297 { 273 298 assert(level < LVL_LIMIT); … … 283 308 284 309 vsnprintf(message_buffer, MESSAGE_BUFFER_SIZE, fmt, args); 285 logger_message(logger_session, level, message_buffer);310 logger_message(logger_session, ctx, level, message_buffer); 286 311 } 287 312
Note:
See TracChangeset
for help on using the changeset viewer.