Currently, calling LOG-MANGER:WRITE-MESSAGE() raises the error "Cannot write message to log, as there is no log open (14332)" if there is no open log file. This being an error condition is too severe for most practical use cases.

Normally you just want to write if logging is active, and otherwise not write at all. As-is, that means you need to write every call as: 

IF LOG-MANAGER:LOGFILE-NAME <> ? THEN LOG-MANAGER:WRITE-MESSAGE ("This is a message", "Test").

Which is just messy code.

(Suppressing the error using NO-ERROR phrase also kind of works, but is much slower in comparison if there is no open log, and may end up suppressing other errors that should not be suppressed).