From 1a57267a17c2fc17fb6e104846fabc3e363c326c Mon Sep 17 00:00:00 2001 From: Emile Date: Fri, 16 Aug 2024 19:50:26 +0200 Subject: initial commit --- vendor/modernc.org/sqlite/dmesg.go | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 vendor/modernc.org/sqlite/dmesg.go (limited to 'vendor/modernc.org/sqlite/dmesg.go') diff --git a/vendor/modernc.org/sqlite/dmesg.go b/vendor/modernc.org/sqlite/dmesg.go new file mode 100644 index 0000000..5670301 --- /dev/null +++ b/vendor/modernc.org/sqlite/dmesg.go @@ -0,0 +1,56 @@ +// Copyright 2023 The Sqlite Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build sqlite.dmesg +// +build sqlite.dmesg + +package sqlite // import "modernc.org/sqlite" + +import ( + "fmt" + "os" + "path/filepath" + "strings" + "time" +) + +const dmesgs = true + +var ( + pid = fmt.Sprintf("[%v %v] ", os.Getpid(), filepath.Base(os.Args[0])) + logf *os.File +) + +func init() { + t := time.Now() + // 01/02 03:04:05PM '06 -0700 + dn := t.Format("sqlite-dmesg-2006-01-02-03-150405") + dn = filepath.Join(os.TempDir(), fmt.Sprintf("%s.%d", dn, os.Getpid())) + if err := os.Mkdir(dn, 0770); err != nil { + panic(err.Error()) + } + + fn := filepath.Join(dn, "dmesg.log") + var err error + if logf, err = os.OpenFile(fn, os.O_APPEND|os.O_CREATE|os.O_WRONLY|os.O_SYNC, 0644); err != nil { + panic(err.Error()) + } + + dmesg("%v", time.Now()) + fmt.Fprintf(os.Stderr, "debug messages in %s\n", fn) +} + +func dmesg(s string, args ...interface{}) { + if s == "" { + s = strings.Repeat("%v ", len(args)) + } + s = fmt.Sprintf(pid+s, args...) + s += fmt.Sprintf(" (%v: %v:)", origin(3), origin(2)) + switch { + case len(s) != 0 && s[len(s)-1] == '\n': + fmt.Fprint(logf, s) + default: + fmt.Fprintln(logf, s) + } +} -- cgit 1.4.1