async def _log(  <EOL>self,<EOL>level: int,<EOL>msg: Any,<EOL>args: Tuple,<EOL>exc_info=None,<EOL>extra: Dict = None,<EOL>stack_info=False,<EOL>flatten: bool = False,<EOL>serializer_kwargs: Dict = None,<EOL>caller: _Caller = None,<EOL>):
sinfo = None<EOL>if caller:<EOL><INDENT>fn, lno, func, sinfo = caller<EOL><DEDENT>else:  <EOL><INDENT>fn, lno, func = "<STR_LIT>", <NUM_LIT:0>, "<STR_LIT>"<EOL><DEDENT>if exc_info and isinstance(exc_info, BaseException):<EOL><INDENT>exc_info = (type(exc_info), exc_info, exc_info.__traceback__)<EOL><DEDENT>joined_extra = {}<EOL>joined_extra.update(self.extra)<EOL>if extra:<EOL><INDENT>joined_extra.update(extra)<EOL><DEDENT>record = LogRecord(<EOL>name=self.name,<EOL>level=level,<EOL>pathname=fn,<EOL>lineno=lno,<EOL>msg=msg,<EOL>args=args,<EOL>exc_info=exc_info,<EOL>func=func,<EOL>sinfo=sinfo,<EOL>extra=joined_extra,<EOL>flatten=flatten or self.flatten,<EOL>serializer_kwargs=serializer_kwargs or self.serializer_kwargs,<EOL>)<EOL>await self.handle(record)<EOL>
Low-level logging routine which creates a LogRecord and then calls
all the handlers of this logger to handle the record.

Overwritten to properly handle log methods kwargs