## Код:
```
MODULE Out;
(**
   project   = "BlackBox"
   organization   = "www.oberon.ch"
   contributors   = "Oberon microsystems"
   version   = "System/Rsrc/About"
   copyright   = "System/Rsrc/About"
   license   = "Docu/BB-License"
   changes   = ""
   issues   = ""

**)

   IMPORT Views, TextModels, TextMappers, TextViews, StdLog;

   CONST digitspace = 08FX;

   VAR
      buf: TextModels.Model;
      out: TextMappers.Formatter;

   PROCEDURE Open*;
   BEGIN
      StdLog.Open
   END Open;

   PROCEDURE Char* (ch: CHAR);
   BEGIN
      out.WriteChar(ch);
      StdLog.text.Append(buf); Views.RestoreDomain(StdLog.text.Domain())
   END Char;

   PROCEDURE Ln*;
   BEGIN
      out.WriteLn;
      StdLog.text.Append(buf); Views.RestoreDomain(StdLog.text.Domain());
      TextViews.ShowRange(StdLog.text, StdLog.text.Length(), StdLog.text.Length(), TextViews.any)
   END Ln;

   PROCEDURE String* (str: ARRAY OF CHAR);
   BEGIN
      out.WriteString(str);
      StdLog.text.Append(buf); Views.RestoreDomain(StdLog.text.Domain())
   END String;

   PROCEDURE Int* (i: LONGINT; n: INTEGER);
   BEGIN
      out.WriteIntForm(i, 10, n, digitspace, FALSE);
      StdLog.text.Append(buf); Views.RestoreDomain(StdLog.text.Domain())
   END Int;

   PROCEDURE Real* (x: REAL; n: INTEGER);
   BEGIN
      out.WriteRealForm(x, 16, n, 0, digitspace);
      StdLog.text.Append(buf); Views.RestoreDomain(StdLog.text.Domain())
   END Real;

BEGIN
   buf := TextModels.CloneOf(StdLog.buf); out.ConnectTo(buf)
END Out.
```

Это digitspace