'Log a new message.
The message should be a native string, i.e. bytes on Python 2 and
Unicode on Python 3. For compatibility with both use the native string
syntax, for example::
>>> log.msg(\'Hello, world.\')
You MUST avoid passing in Unicode on Python 2, and the form::
>>> log.msg(\'Hello \', \'world.\')
This form only works (sometimes) by accident.
Keyword arguments will be converted into items in the event
dict that is passed to L{ILogObserver} implementations.
Each implementation, in turn, can define keys that are used
by it specifically, in addition to common keys listed at
L{ILogObserver.__call__}.
For example, to set the C{system} parameter while logging
a message::
>>> log.msg(\'Started\', system=\'Foo\')'

def msg(self, *message, **kw):

    actualEventDict = (context.get(ILogContext) or {}).copy()
    actualEventDict.update(kw)
    actualEventDict['message'] = message
    actualEventDict['time'] = time.time()
    if ('isError' not in actualEventDict):
        actualEventDict['isError'] = 0
    _publishNew(self._publishPublisher, actualEventDict, textFromEventDict)
