You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I know, there is no common logger interface in Go, but what about defining a minimal one to at least get some details, especially when using sql-migrate as lib. Additionally, this could also be benefiting for the standalone tool, as there could be a new flag (e.g. --verbose).
Small example of the change: (the Logger interface definition is subject of discussion and could for example be extended to info and error or something similar):
type MigrationSet struct {
Logger Logger
}
var migSet = MigrationSet{}
func SetLogger(l Logger) {
if l != nil {
migSet.Logger = l
}
}
type Logger interface {
Printf(format string, v ...any)
}
func (ms *MigrationSet) printf(format string, v ...any) {
if ms.Logger == nil {
return
}
ms.Logger.Printf(format, v...)
}
func Exec(migrations []string) error {
// execute migrations
for _, migration := range migrations {
// apply migration
// log additional execution info
migSet.printf("Executing migration: %s\n", migration)
}
return nil
}
Please let me know, what you think about this proposal and if we can move on to a PR.
The text was updated successfully, but these errors were encountered:
Hey, it would be nice to be able to activate additional logging when applying migrations.
Similar requests:
I know, there is no common logger interface in Go, but what about defining a minimal one to at least get some details, especially when using
sql-migrate
as lib. Additionally, this could also be benefiting for the standalone tool, as there could be a new flag (e.g.--verbose
).Small example of the change: (the
Logger
interface definition is subject of discussion and could for example be extended toinfo
anderror
or something similar):Please let me know, what you think about this proposal and if we can move on to a PR.
The text was updated successfully, but these errors were encountered: