global.ha (521B)
1 // SPDX-License-Identifier: MPL-2.0 2 // (c) Hare authors <https://harelang.org> 3 4 use io; 5 use os; 6 use rt; 7 8 // The global logger instance. 9 export let global: *logger = &_default; 10 11 // Default logger that writes to [[os::stderr]]. 12 export const default: *logger = &_default; 13 14 let _default: stdlogger = stdlogger { 15 println = &log_println, 16 printfln = &log_printfln, 17 sink = rt::STDERR_FILENO: io::file, 18 }; 19 20 // Sets the global logger instance to the provided logger. 21 export fn setlogger(log: *logger) void = { 22 global = log; 23 };