1 //******************************************************************
3 // Copyright 2014 Intel Mobile Communications GmbH All Rights Reserved.
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://www.apache.org/licenses/LICENSE-2.0
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21 #include "oic_logger.h"
22 #include "oic_console_logger.h"
30 } oic_console_logger_ctx;
32 oic_log_ctx_t *oic_make_console_logger()
34 return oic_log_make_ctx(NULL, OIC_LOG_ALL, oic_console_logger_init, oic_console_logger_destroy,
35 oic_console_logger_flush, oic_console_logger_set_level,
36 oic_console_logger_write,oic_console_logger_set_module);
39 int oic_console_logger_init(oic_log_ctx_t *ctx, void *world)
41 oic_console_logger_ctx *my_ctx;
43 my_ctx = (oic_console_logger_ctx *) malloc(sizeof(oic_console_logger_ctx));
50 ctx->ctx = (void *) my_ctx;
55 void oic_console_logger_destroy(oic_log_ctx_t *ctx)
57 oic_console_logger_ctx *lctx = (oic_console_logger_ctx *) ctx->ctx;
64 void oic_console_logger_flush(oic_log_ctx_t *ctx)
66 oic_console_logger_ctx *lctx = (oic_console_logger_ctx *) ctx->ctx;
71 void oic_console_logger_set_level(oic_log_ctx_t *ctx, const int level)
73 /* We don't have any special thing we need to do when a log level changes. */
77 size_t oic_console_logger_write(oic_log_ctx_t *ctx, const int level, const char *msg)
79 oic_console_logger_ctx *lctx = (oic_console_logger_ctx *) ctx->ctx;
81 /* A "real" implementation might want to replace the loglevel with a mnemonic: */
83 if (0 == ctx->module_name)
84 return 1 + fprintf(lctx->out, "%d: %s\n", level, msg);
86 return 1 + fprintf(lctx->out, "%d: [%s]: %s\n", level, ctx->module_name, msg);
89 int oic_console_logger_set_module(oic_log_ctx_t *ctx, const char *module_name)
91 /* We don't do anything special when the module name changes: */