gliblog.go 541 B

12345678910111213141516171819202122232425262728293031323334
  1. package gliblog
  2. /*
  3. #cgo pkg-config: glib-2.0
  4. #include "gliblog.h"
  5. */
  6. import "C"
  7. import log "github.com/sirupsen/logrus"
  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. entry := log.WithField("source", domain)
  19. switch logLevel {
  20. case C.G_LOG_LEVEL_WARNING:
  21. entry.Warn(str)
  22. default:
  23. entry.Error(str)
  24. }
  25. }
  26. func Init() {
  27. C.glib_log_configure()
  28. }