26902 Initial code review

Created a branch from the very first commit to be able to review the whole code written so far.
This does not mean that a merge should be done after the review is done, this is a "dummy" pull request.
Can this be called before the logger is set, hence the "if g_log:" test ? Seems overkill to test if the logger exists ?