Bee Watch

Build Status

Bee Watch - интерактивный деббагер для языка программирования Go.

Возможности

  • Три уровня деббагинга: Critical, Info и Trace.
  • Display() variable values or Printf() with customized format.
  • Дружественный Web UI для WebSocket режима или easy-control command-line режим.
  • Вызовите AddWatchVars() чтобы следилть за переменными и показаывать их информацию когда программа вызвает Break().
  • Конфигурационный файл с вашими настройками (beewatch.json).

Установка

Bee Watch доступен через “go get” механизм, вы можете выполнить следующую команду для авто установки:

  1. go get github.com/beego/beewatch

Внимание На данный момент, этот проект может быть установлен только из исходных кодов.

Быстрый старт

Использование

  1. package main
  2. import (
  3. "time"
  4. "github.com/beego/beewatch"
  5. )
  6. func main() {
  7. // Start with default level: Trace,
  8. // or use `beewatch.Start(beewatch.Info())` to set the level.
  9. beewatch.Start()
  10. // Some variables.
  11. appName := "Bee Watch"
  12. boolean := true
  13. number := 3862
  14. floatNum := 3.1415926
  15. test := "fail to watch"
  16. // Add variables to be watched, must be even sized.
  17. // Note that you have to pass the pointer.
  18. // For now it only supports basic types.
  19. // In this case, 'test' will not be watched.
  20. beewatch.AddWatchVars("test", test, "App Name", &appName,
  21. "bool", &boolean, "number", &number, "float", &floatNum)
  22. // Display something.
  23. beewatch.Info().Display("App Name", appName).Break().
  24. Printf("boolean value is %v; number is %d", boolean, number)
  25. beewatch.Critical().Break().Display("float", floatNum)
  26. // Change some values, must be even sized.
  27. appName = "Bee Watch2"
  28. number = 250
  29. // Here you will see something interesting.
  30. beewatch.Trace().Break()
  31. // Multiple goroutines test.
  32. for i := 0; i < 3; i++ {
  33. go multipletest(i)
  34. }
  35. beewatch.Trace().Printf("Wait 3 seconds...")
  36. select {
  37. case <-time.After(3 * time.Second):
  38. beewatch.Trace().Printf("Done debug")
  39. }
  40. // Close debugger,
  41. // it's not useful when you debug a web server that may not have an end.
  42. beewatch.Close()
  43. }
  44. func multipletest(num int) {
  45. beewatch.Critical().Break().Display("num", num)
  46. }

Соединение

Bee Watch деббагер автоматически запускается наhttp://localhost:23456 когда вы используете WebSocket режим, вы можете изменить порт и другую настройки редактируя beewatch.json(скорипируйте дефолтный конфиг из исходной папки Bee Watch).

Ваш браузер должен иметь поддержку WebSocket. Bee Watch был протестирован в Chrome, Safari и Firefox на Mac и Windows.

Bee Watch demo

Примеры и документация API

Go Walker