change log file path

This commit is contained in:
bryan 2025-12-03 22:35:00 +08:00
parent eec8fe18e4
commit 40b0a3597c
2 changed files with 27 additions and 10 deletions

34
log.go
View File

@ -204,7 +204,7 @@ func (log *Logger) logwrite(typ LogLevel, calldepth int, format string, v ...int
calldepth += log.calldepth calldepth += log.calldepth
var ( var (
idstr = log.GetLogidStr(" [%s]") idstr = log.GetLogidStr(" [%s]")
header = formatHeader(calldepth, log.skipfunc) + "$" + idstr header = formatHeader(calldepth, log.skipfunc) /*+ "$"*/ + idstr
) )
format = strings.Trim(format, "\n") format = strings.Trim(format, "\n")
@ -227,24 +227,25 @@ func (log *Logger) logwrite(typ LogLevel, calldepth int, format string, v ...int
log.golog.SetPrefix("\x1b[33m" + "UNKN " + header + "\x1b[0m" + " ") log.golog.SetPrefix("\x1b[33m" + "UNKN " + header + "\x1b[0m" + " ")
} }
if typ == WARNING || typ == ERROR { switch typ {
case WARNING, ERROR:
log.golog.Output(calldepth, "\x1b[31m"+fmt.Sprintf(format, v...)+"\x1b[0m") log.golog.Output(calldepth, "\x1b[31m"+fmt.Sprintf(format, v...)+"\x1b[0m")
} else if typ == INFO || typ == DEBUG { case INFO, DEBUG:
log.golog.Output(calldepth, fmt.Sprintf(format, v...)) log.golog.Output(calldepth, fmt.Sprintf(format, v...))
} else if typ == NOTICE { case NOTICE:
calldepth = calldepth + 2 calldepth = calldepth + 2
log.golog.Output(calldepth, fmt.Sprintf(format, v...)) log.golog.Output(calldepth, fmt.Sprintf(format, v...))
} else if typ == FATAL { case FATAL:
stackstr := strings.Replace(string(debug.Stack()), "\n", "\n== ", -1) stackstr := strings.Replace(string(debug.Stack()), "\n", "\n== ", -1)
stackstr = "\n== Fatal stack:\n" + str.SkipLine(stackstr, calldepth*2+1) stackstr = "\n== Fatal stack:\n" + str.SkipLine(stackstr, calldepth*2+1)
log.golog.Output(calldepth, fmt.Sprintf(format, v...)+stackstr) log.golog.Output(calldepth, fmt.Sprintf(format, v...)+stackstr)
os.Exit(1) os.Exit(1)
} else if typ == PANIC { case PANIC:
stackstr := strings.Replace(string(debug.Stack()), "\n", "\n== ", -1) stackstr := strings.Replace(string(debug.Stack()), "\n", "\n== ", -1)
stackstr = "\n== Panic stack:\n" + str.SkipLine(stackstr, calldepth*2+1) stackstr = "\n== Panic stack:\n" + str.SkipLine(stackstr, calldepth*2+1)
log.golog.Output(calldepth, fmt.Sprintf(format, v...)+stackstr) log.golog.Output(calldepth, fmt.Sprintf(format, v...)+stackstr)
panic(fmt.Sprintf(format, v...)) panic(fmt.Sprintf(format, v...))
} else { default:
panic(ErrLogLevel) panic(ErrLogLevel)
} }
} }
@ -309,6 +310,10 @@ func formatHeader(calldepth int, skipfunc func(string) bool) string {
if len(tempheader) > MAX_LENGTH { if len(tempheader) > MAX_LENGTH {
//tempheader = "…" + tempheader[len(tempheader)-MAX_LENGTH+1:] //tempheader = "…" + tempheader[len(tempheader)-MAX_LENGTH+1:]
tempheader = tempheader[len(tempheader)-MAX_LENGTH:] tempheader = tempheader[len(tempheader)-MAX_LENGTH:]
if !strings.Contains(tempheader, " ") {
tempheader = strings.Replace(tempheader, "/", " ", 1)
}
tempheader = "." + tempheader[1:]
return nowstr + tempheader return nowstr + tempheader
} }
@ -317,6 +322,10 @@ func formatHeader(calldepth int, skipfunc func(string) bool) string {
if len(tempheader) > MAX_LENGTH { if len(tempheader) > MAX_LENGTH {
//tempheader = "…" + tempheader[len(tempheader)-MAX_LENGTH+1:] //tempheader = "…" + tempheader[len(tempheader)-MAX_LENGTH+1:]
tempheader = tempheader[len(tempheader)-MAX_LENGTH:] tempheader = tempheader[len(tempheader)-MAX_LENGTH:]
if !strings.Contains(tempheader, " ") {
tempheader = strings.Replace(tempheader, "/", " ", 1)
}
tempheader = "." + tempheader[1:]
return nowstr + tempheader return nowstr + tempheader
} }
@ -325,14 +334,21 @@ func formatHeader(calldepth int, skipfunc func(string) bool) string {
if len(tempheader) > MAX_LENGTH { if len(tempheader) > MAX_LENGTH {
//tempheader = "…" + tempheader[len(tempheader)-MAX_LENGTH+1:] //tempheader = "…" + tempheader[len(tempheader)-MAX_LENGTH+1:]
tempheader = tempheader[len(tempheader)-MAX_LENGTH:] tempheader = tempheader[len(tempheader)-MAX_LENGTH:]
if !strings.Contains(tempheader, " ") {
tempheader = strings.Replace(tempheader, "/", " ", 1)
}
tempheader = "." + tempheader[1:]
return nowstr + tempheader return nowstr + tempheader
} }
// Case 7: fallback // Case 7: fallback
tempheader = "." + tempheader[1:]
return nowstr + tempheader return nowstr + tempheader
} }
func formatHeaderPath(file string, i, maxwidth, fullstep int) (paths string) { func formatHeaderPath(file string, i, maxwidth, fullstep int) (paths string) {
paths = ""
startCut := false
ii, iw, step := i, i, 1 ii, iw, step := i, i, 1
for i := ii; i >= 0; i-- { for i := ii; i >= 0; i-- {
if file[i] == '/' { if file[i] == '/' {
@ -342,6 +358,10 @@ func formatHeaderPath(file string, i, maxwidth, fullstep int) (paths string) {
paths = file[i:iw+1] + paths paths = file[i:iw+1] + paths
} else if iw-i > maxwidth { } else if iw-i > maxwidth {
// dirname lenght more then width // dirname lenght more then width
if startCut == false && len(paths) > 0 && paths[0] == '/' {
startCut = true
paths = " " + paths[1:]
}
paths = file[i:i+maxwidth] + paths // paths = file[i:i+width] + "..." + paths paths = file[i:i+maxwidth] + paths // paths = file[i:i+width] + "..." + paths
} else { } else {
// dirname lenght less then width // dirname lenght less then width

View File

@ -4,7 +4,4 @@ import "testing"
func TestLog(t *testing.T) { func TestLog(t *testing.T) {
Println("aaa", 1, 3, 6) Println("aaa", 1, 3, 6)
Fatal("aaa", 1, 3)
Fatalf("aaa=%d", 1)
Panicf("aaa=%d", 1)
} }