github.com/AlpineAIO/wails/v2@v2.0.0-beta.32.0.20240505041856-1047a8fa5fef/internal/frontend/dispatcher/log.go (about)

     1  package dispatcher
     2  
     3  import (
     4  	"github.com/AlpineAIO/wails/v2/internal/logger"
     5  	pkgLogger "github.com/AlpineAIO/wails/v2/pkg/logger"
     6  	"github.com/pkg/errors"
     7  )
     8  
     9  var logLevelMap = map[byte]logger.LogLevel{
    10  	'1': pkgLogger.TRACE,
    11  	'2': pkgLogger.DEBUG,
    12  	'3': pkgLogger.INFO,
    13  	'4': pkgLogger.WARNING,
    14  	'5': pkgLogger.ERROR,
    15  }
    16  
    17  func (d *Dispatcher) processLogMessage(message string) (string, error) {
    18  	if len(message) < 3 {
    19  		return "", errors.New("Invalid Log Message: " + message)
    20  	}
    21  
    22  	messageText := message[2:]
    23  
    24  	switch message[1] {
    25  	case 'T':
    26  		d.log.Trace(messageText)
    27  	case 'P':
    28  		d.log.Print(messageText)
    29  	case 'D':
    30  		d.log.Debug(messageText)
    31  	case 'I':
    32  		d.log.Info(messageText)
    33  	case 'W':
    34  		d.log.Warning(messageText)
    35  	case 'E':
    36  		d.log.Error(messageText)
    37  	case 'F':
    38  		d.log.Fatal(messageText)
    39  	case 'S':
    40  		loglevel, exists := logLevelMap[message[2]]
    41  		if !exists {
    42  			return "", errors.New("Invalid Set Log Level Message: " + message)
    43  		}
    44  		d.log.SetLogLevel(loglevel)
    45  	default:
    46  		return "", errors.New("Invalid Log Message: " + message)
    47  	}
    48  	return "", nil
    49  }