1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Go言語でデスクトップアプリを開発できるWailsのデバックログを見やすくする方法

Posted at

はじめに

Go言語でWindows,Mac OS,Linuxのデスクトップアプリを簡単に作れるwails

のデバッグログを見やすくする方法の紹介です。

WailsはTWSNMP FK(別名 シン・TWSNMP)

の開発に利用しています。

開発中にデバッグログが見づらかったので改善しました。

改善前のデバッグログ

Go言語の標準logパッケージの出力とWailsの標準ログが混在して見づらくまっていました。

image.png

タイムスタンプから始まる行がGo言語の標準logパッケージです。
DEBで始まる行がWailsの標準ログです。開発中にストレスが感じていました。

Wailsのカスタムログによる改善

Wailsのログに関するドキュメント

の下の方に、カスタムログについての説明があります。

type Logger interface {
    Print(message string)
    Trace(message string)
    Debug(message string)
    Info(message string)
    Warning(message string)
    Error(message string)
    Fatal(message string)
}

というインターフェイスをもったstructをWailsのアプリオプションのLoggerに設定すればよいとのことです。
そこで、カスタムログのパッケージを作りました。

package clog

import (
	"log"

	"github.com/fatih/color"
)

type ColorLogger struct{}

func New() *ColorLogger {
	return &ColorLogger{}
}

func (l *ColorLogger) Print(message string) {
	log.Println(message)
}

func (l *ColorLogger) Trace(message string) {
	log.Printf("%s %s", color.CyanString("[TRACE]"), message)
}

func (l *ColorLogger) Debug(message string) {
	log.Printf("%s %s", color.HiGreenString("[DEBUG]"), message)
}

func (l *ColorLogger) Info(message string) {
	log.Printf("%s %s", color.HiBlueString("[INFO]"), message)
}

func (l *ColorLogger) Warning(message string) {
	log.Printf("%s %s", color.HiYellowString("[WARN]"), message)
}

func (l *ColorLogger) Error(message string) {
	log.Printf("%s %s", color.HiMagentaString("[ERR]"), message)
}

func (l *ColorLogger) Fatal(message string) {
	log.Printf("%s %s", color.HiRedString("[FATAL]"), message)
}

このパッケージのNew()で作成したstructをLoggerに設定します。

単に、log.Printlnで出力すればフォーマットは、揃いますが、

を使ってカラー表示できるようになっています。

改善後のデバッグログ

image.png

凝ったログパッケージを使うことをも考えましたが、このぐらいで十分見やすくなったと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?