掲題の通りです。
go-xorm/core, go-xorm/xorm をアップデートしていたら、logger のテストが突然落ちて驚いた。今更v0.4.5 を使っていたというのもあるが……
https://github.com/go-xorm/core/commit/42bacbe76fb75f773f7aab4e7644377ef9315e82
ログレベルの値がどう変わったかを、当該部分を実行してみてみる。
https://play.golang.org/p/pYgmmeRwBK
package main
import (
"fmt"
)
type LogLevel int
const (
// log level definitions of go-xorm/xorm < v0.5.2
// !nashtsai! following level also match syslog.Priority value
LOG_v4_UNKNOWN LogLevel = iota - 2
LOG_v4_OFF LogLevel = iota - 1
LOG_v4_ERR LogLevel = iota + 3
LOG_v4_WARNING
LOG_v4_INFO LogLevel = iota + 6
LOG_v4_DEBUG
)
const (
// log level definitions of go-xorm/xorm >= v0.5.2
LOG_v5_DEBUG LogLevel = iota
LOG_v5_INFO
LOG_v5_WARNING
LOG_v5_ERR
LOG_v5_OFF
LOG_v5_UNKNOWN
)
func main() {
fmt.Println("v4_UNKNOWN ", LOG_v4_UNKNOWN)
fmt.Println("v4_OFF ", LOG_v4_OFF)
fmt.Println("v4_ERR ", LOG_v4_ERR)
fmt.Println("v4_WARNING ", LOG_v4_WARNING)
fmt.Println("v4_INFO", LOG_v4_INFO)
fmt.Println("v4_DEBUG", LOG_v4_DEBUG)
fmt.Println("v5_UNKNOWN ", LOG_v5_UNKNOWN)
fmt.Println("v5_OFF ", LOG_v5_OFF)
fmt.Println("v5_ERR ", LOG_v5_ERR)
fmt.Println("v5_WARNING ", LOG_v5_WARNING)
fmt.Println("v5_INFO", LOG_v5_INFO)
fmt.Println("v5_DEBUG", LOG_v5_DEBUG)
}
v4_UNKNOWN -2
v4_OFF 0
v4_ERR 5
v4_WARNING 6
v4_INFO 10
v4_DEBUG 11
v5_UNKNOWN 5
v5_OFF 4
v5_ERR 3
v5_WARNING 2
v5_INFO 1
v5_DEBUG 0
UNKNOWN < OFF < ERR < WARNING < INFO < DEBUG
UNKNOWN > OFF > ERR > WARNING > INFO > DEBUG
と、数値の大小関係が逆になってる。
大小関係を使ってた部分が落ちてたので、なるほどこういうこともあるのだなと。