2 回答

TA貢獻1864條經驗 獲得超6個贊
因此,首先,根據您上面的代碼,您嘗試設置一個帶有指針記錄器的非指針記錄器,但該指針記錄器不起作用。其次,您在設置 dlog 時使用 := ,它在您的 main 方法中創建一個作用域變量,而不是設置您的全局變量

TA貢獻1851條經驗 獲得超5個贊
我試過這個:
import (
"fmt"
"github.com/pkg/errors"
"log"
"os"
)
const logfile string = "killer.log"
const logprefix string = "LOGTEST: "
var DLog *log.Logger
func setupLogger(filename, prefix string) {
var err error
out, err := os.OpenFile(filename, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
log.Fatal( nil, errors.Wrap(err, "can't open logfile for writing"))
}
DLog=log.New(out, prefix, log.LstdFlags)
fmt.Println("Log object: ",DLog)
}
func uselog() error {
DLog.Print("Hello") ///// < Here is the issue
DLog.Print("I have something standard to say")
fmt.Println("I am done")
return nil
}
func main() {
setupLogger(logfile, logprefix)
DLog.Printf("test from main")
uselog()
}
- 2 回答
- 0 關注
- 158 瀏覽
添加回答
舉報