Contextlog implementation

why do you need `dict` &