ログ分析ツールのWindows環境の問題を改善
今朝は6時まで寝てしまいました。
開発にはMacを使っているのでWindows環境のテストが不十分だったようです。いくつか問題を見つけたので改善しています。
Windowsのイベントログの文字コードがSHIFT-JISのため文字化けする
WIndowsのイベントログを取得する時に、コマンド実行のWindowが表示される
WIndowsのイベントログの検索時のタイムゾーンがJST固定
1つ目は、
Windowsの文字コードの設定をUTF-8にすれば解決すると思いますが、ほとんどの場合SHIFT-JISで使っているので読み込む時変換する必要があります。
変換自体は簡単です。
tr := japanese.ShiftJIS.NewDecoder()
utf8, _, err := transform.String(tr, sjis)
のようにすればOKでした。
できれば、自動判定したいところです。
2つ目も、TWSNMP FCの起動ツールで同じ問題を対策した時に作った関数
func getCmd(ctx context.Context, path string, params []string) *exec.Cmd {
cmd := exec.CommandContext(ctx, path, params...)
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
return cmd
}
を使えばできます。
3つ目も、
time.Now().Format("MST")
でできそうです。
1つ目の文字コードを自動判定する方法で悩んでいるうちに時間切です。
明日に続く
いいなと思ったら応援しよう!
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。
ソフトウェアのマニュアルをnoteの記事で提供しています。
サポートによりnoteの運営にも貢献できるのでよろしくお願います。