You should use LOGCALL_CTOR to log entry to a constructor:

{{{
    LOGCALL_CTOR(API, "Document", internal_);
}}}

You should just be able to list the arguments (separated by | if there are multiple ones) - `debuglog.h` provides overloads of operator| and operator<< such that this should just work.  If it doesn't handle a parameter type, it's better to fix it by adding handling for that type to debuglog.h than to do something special (like casting to `int`) every time it is passed.

Also, a pointer can be wider than an int on some platforms, so that's not a good approach anyway.