github.com/Racer159/jackal@v0.32.7-0.20240401174413-0bd2339e4f2e/src/pkg/message/pausable.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: 2021-Present The Jackal Authors 3 4 // Package message provides a rich set of functions for displaying messages to the user. 5 package message 6 7 import ( 8 "io" 9 "os" 10 ) 11 12 // pausableLogFile is a pausable log file 13 type pausableLogFile struct { 14 wr io.Writer 15 f *os.File 16 } 17 18 // pause the log file 19 func (l *pausableLogFile) pause() { 20 l.wr = io.Discard 21 } 22 23 // resume the log file 24 func (l *pausableLogFile) resume() { 25 l.wr = l.f 26 } 27 28 // Write writes the data to the log file 29 func (l *pausableLogFile) Write(p []byte) (n int, err error) { 30 return l.wr.Write(p) 31 }