This module adds some useful features to the core logging functionality of PLT Scheme:
an application log to which application-level messages may be logged (several Untyped libraries write to this log);
application log messages can be timestamped;
standard debugging information can be included in application log messages;
special application logging macros are provided that allow multiple arguments of any type.
Application log messages are not reported until a call is made to , or until a call is made to log-receiver.
Adds a fatal error message to the application log. The arguments are formatted them into a single-line log message together with the message level and current time. The time is returned as a SRFI 19 .
Adds a non-fatal error message to the application log. Behaviour is similar to that of .
Adds a warning message to the application log. Behaviour is similar to that of .
Adds an informational message to the application log. Behaviour is similar to that of .
Adds a debugging message to the application log. Behaviour is similar to that of .
( level [handler]) → (-> void?)
level : (U 'fatal 'error 'warning 'info 'debug)
handler : handler-procedure = default-log-handler
Starts a thread that handles application lof messages of the specified level or above. Returns a thunk that stops the logging thread and terminates output.
handler is called each time a message is logged, and should accept three arguments:
the level of the message (U 'fatal 'error 'warning 'info 'debug);
the message to log (a string);
the continuation marks at the point of log entry (a continuation-mark-set).
If handler is omitted, a default-handler-procedure is used that prints all messages to the current-output-port.
( formatter) → void?
Parameter that customises the formatting of application log messages. The value must be a procedure that takes three arguments:
the log level ('fatal, 'error, 'warning, 'info or 'debug);
an entry timestamp (encoded as a SRFI 19 );
the list of the arguments passed to the logging macro ( or equivalent).