diff --git a/vlib/log/log.v b/vlib/log/log.v index 179617777c3a36..a1eb43a450496e 100644 --- a/vlib/log/log.v +++ b/vlib/log/log.v @@ -80,6 +80,13 @@ pub fn (mut l Log) close() { l.ofile.close() } +// reopen reopens the log file. Useful for log rotation. +pub fn (mut l Log) reopen() { + l.ofile.reopen(l.output_file_name, 'ab') or { + panic('error while re-opening log file ${l.output_file_name} for appending') + } +} + // log_file writes log line `s` with `level` to the log file. fn (mut l Log) log_file(s string, level Level) { timestamp := time.now().format_ss_micro() diff --git a/vlib/log/logger_interface.v b/vlib/log/logger_interface.v index d716a78ac21da1..ae43344d64d94f 100644 --- a/vlib/log/logger_interface.v +++ b/vlib/log/logger_interface.v @@ -11,5 +11,7 @@ mut: debug(s string) // utility methods: set_level(level Level) + flush() + reopen() free() }