gliblog.go 510 B

1234567891011121314151617181920212223242526272829303132
  1. package gliblog
  2. /*
  3. #cgo pkg-config: glib-2.0
  4. #include "gliblog.h"
  5. */
  6. import "C"
  7. import "log/slog"
  8. //export logGLib
  9. func logGLib(cdomain *C.char, logLevel C.GLogLevelFlags, cstr *C.char) {
  10. str := C.GoString(cstr)
  11. var domain string
  12. if cdomain != nil {
  13. domain = C.GoString(cdomain)
  14. }
  15. if len(domain) == 0 {
  16. domain = "GLib"
  17. }
  18. switch logLevel {
  19. case C.G_LOG_LEVEL_WARNING:
  20. slog.Warn(str, "source", domain)
  21. default:
  22. slog.Error(str, "source", domain)
  23. }
  24. }
  25. func Init() {
  26. C.glib_log_configure()
  27. }