"bytes"
"fmt"
"os"
+ "sync"
"time"
"go.cypherpunks.ru/recfile"
const LogFdPrefix = "FD:"
-var LogFd *os.File
+var (
+ LogFd *os.File
+ LogFdLock sync.Mutex
+)
type LE struct {
K string
func (ctx *Ctx) Log(rec string) {
if LogFd != nil {
+ LogFdLock.Lock()
LogFd.WriteString(rec)
+ LogFdLock.Unlock()
return
}
fdLock, err := os.OpenFile(
fmt.Fprintln(os.Stderr, "Can not open log:", err)
return
}
- fd.WriteString(rec) // #nosec G104
- fd.Close() // #nosec G104
+ fd.WriteString(rec)
+ fd.Close()
}
func (ctx *Ctx) LogD(who string, les LEs, msg func(LEs) string) {