FileLogger appends Str log entries to a file. You can add a FileLogger as a Log handler:
sysLogger := FileLogger { dir = scriptDir filename = "sys-{YYMM}.log" } Log.addHandler |rec| { sysLogger.writeLogRec(rec) }
See filename for specifying a datetime pattern for your log files.
Slots
-
const private Actor actor := Actor(this) |Obj?->Obj?| { ... }
- dirSource
-
const File dir
Directory used to store log file(s).
- filenameSource
-
const Str filename
Log filename pattern. The name may contain a pattern between
{}
using the pattern format ofsys::DateTime.toLocale
. For example to maintain a log file per month, use a filename such as "mylog-{YYYY-MM}.log". -
const static private Log log := Log.get("logger")
- makeSource
-
new make(|This|? f := null)
- onOpenSource
-
const |OutStream|? onOpen
Callback called each time the file logger opens an existing or new log file. Callback should write any header information to the given output stream. The callback will occur on the logger's actor, so take care not incur additional actor messaging.
-
internal Obj? receive(Obj msg)
Run the script
- writeLogRecSource
-
Append string log message to file.
- writeStrSource
-
Append string log message to file.