On 2014-09-25 08:52, Alexander Broekhuis wrote:
2014-09-25 8:30 GMT+02:00 Björn Petri <[email protected]>:
[...]
I guess you mean tracking the log_service and not register/unregister,
since that is part of the log_service's implementation itself.
I am not so sure. The boilerplate code for getting the log_service should be minimized using a dependency manager or something. But since we don't have that one yet, we could add a piece of public code to the log_service
containing a pre-setup tracker for the log_service.

But then it is still needed to check if the log_service is available before logging. This could simply be put in a method inside your own component, only about 5 lines or something.. If a printf fallback is needed, it could
be placed in that code as well.

static myComponent_log(my_component_pt cmp, log_level_t level, char *log) {
  if (cmp->logService) {
    cmp->logService->log(cmp->logService->logger, level, log);
  } else {
    printf("STDOUT Log: %s", log);
  }
}

For one of our projects (MachineServices) we've a common code part, containing functionality which are implemented by several bundles. Among other things we also have ms_log which takes care of setting up a tracker for the log_service as well as a log function like the one you mentioned. What do you think about adding something similar to utils?




Reply via email to