WIP
This commit is contained in:
@@ -10,8 +10,6 @@ import (
|
||||
"sync"
|
||||
)
|
||||
|
||||
// FIXME: version does not show in portmaster
|
||||
|
||||
var (
|
||||
name string
|
||||
license string
|
||||
@@ -167,9 +165,9 @@ func CondensedVersion() string {
|
||||
}
|
||||
|
||||
return fmt.Sprintf(
|
||||
"%s %s (%s; built with %s [%s %s] from %s [%s] at %s)",
|
||||
"%s %s (%s/%s; built with %s [%s %s] from %s [%s] at %s)",
|
||||
info.Name, version,
|
||||
runtime.GOOS,
|
||||
runtime.GOOS, runtime.GOARCH,
|
||||
runtime.Version(), runtime.Compiler, cgoInfo,
|
||||
info.Commit, dirtyInfo, info.CommitTime,
|
||||
)
|
||||
|
||||
@@ -1,14 +1,19 @@
|
||||
package log
|
||||
|
||||
import (
|
||||
"io"
|
||||
"log/slog"
|
||||
"os"
|
||||
"runtime"
|
||||
|
||||
"github.com/lmittmann/tint"
|
||||
"github.com/mattn/go-colorable"
|
||||
"github.com/mattn/go-isatty"
|
||||
)
|
||||
|
||||
func setupSLog(level Severity) {
|
||||
// TODO: Changes in the log level are not yet reflected onto the slog handlers in the modules.
|
||||
|
||||
// Set highest possible level, so it can be changed in runtime.
|
||||
handlerLogLevel := level.toSLogLevel()
|
||||
|
||||
@@ -17,21 +22,23 @@ func setupSLog(level Severity) {
|
||||
switch runtime.GOOS {
|
||||
case "windows":
|
||||
logHandler = tint.NewHandler(
|
||||
GlobalWriter,
|
||||
windowsColoring(GlobalWriter), // Enable coloring on Windows.
|
||||
&tint.Options{
|
||||
AddSource: true,
|
||||
Level: handlerLogLevel,
|
||||
TimeFormat: timeFormat,
|
||||
NoColor: !GlobalWriter.IsStdout(), // FIXME: also check for tty.
|
||||
NoColor: !( /* Color: */ GlobalWriter.IsStdout() && isatty.IsTerminal(GlobalWriter.file.Fd())),
|
||||
},
|
||||
)
|
||||
|
||||
case "linux":
|
||||
logHandler = tint.NewHandler(GlobalWriter, &tint.Options{
|
||||
AddSource: true,
|
||||
Level: handlerLogLevel,
|
||||
TimeFormat: timeFormat,
|
||||
NoColor: !GlobalWriter.IsStdout(), // FIXME: also check for tty.
|
||||
NoColor: !( /* Color: */ GlobalWriter.IsStdout() && isatty.IsTerminal(GlobalWriter.file.Fd())),
|
||||
})
|
||||
|
||||
default:
|
||||
logHandler = tint.NewHandler(os.Stdout, &tint.Options{
|
||||
AddSource: true,
|
||||
@@ -43,6 +50,11 @@ func setupSLog(level Severity) {
|
||||
|
||||
// Set as default logger.
|
||||
slog.SetDefault(slog.New(logHandler))
|
||||
// Set actual log level.
|
||||
slog.SetLogLoggerLevel(handlerLogLevel)
|
||||
}
|
||||
|
||||
func windowsColoring(lw *LogWriter) io.Writer {
|
||||
if lw.IsStdout() {
|
||||
return colorable.NewColorable(lw.file)
|
||||
}
|
||||
return lw
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user