The standard library log package is a low-level redirection kludge allowing logging from almost anywhere in the package hierarchy, even though much of the logging logic might be higher in the hierarchy than the logging package (meaning that attempting direct access would result in a fatal cyclic-package-dependencies error).
The log package source code is in src/lib/std/src/log.pkg.
The above information is manually maintained and may contain errors.
api { debug_statestring : Void -> String; debug_statestring__hook : Ref((Void -> String) ); debugging : Ref(Bool ); fatal : String -> ?.X1; get_current_microthread's_name : Void -> String; get_current_microthread's_name__hook : Ref((Void -> String) ); internals : Ref(Bool ); log_fatal__hook : Ref((String -> ?.X1) ); log_note__hook : Ref(Null_Or(((Void -> String) -> Void) ) ); log_note_in_ramlog__hook : Ref(Null_Or(((Void -> String) -> Void) ) ); log_note_on_stderr__hook : Ref(Null_Or(((Void -> String) -> Void) ) ); log_warn__hook : Ref(Null_Or(((Void -> String) -> Void) ) ); nop : X -> Void; note : (Void -> String) -> Void; note_in_ramlog : (Void -> String) -> Void; note_on_stderr : (Void -> String) -> Void; thread_scheduler_statestring : Void -> String; thread_scheduler_statestring__hook : Ref((Void -> String) ); uninterruptible_scope_mutex : Ref(Int ); warn : (Void -> String) -> Void;};