ホーム

go runでログをfileへ systemdを使う場合 - Webアプリ

皆さんこんにちわ。Hujisawaです。

本日は、技術エントリです。

僕は、goでウェブアプリを作ってるのですが

参考 : Goで開発したウェブサービス

なんかよく落ちる。自分はGoは一年未満足らずのキャリアしかないのでまだまだ勉強せねば。

go run で出てくるコマンドに流れてくるログをファイルに取得したい

自分はGoでWebアプリを作って、go run でウェブアプリを稼働して、そこでのログをとりたいので、go run で落ちてくるログを全てとりたいと考えてます。そのうち何かが原因で落ちるので、落ちた後に、そのエラーをファイルで取得しようという三段です。

systemdを使ってデーモン化してます

下記に実行手順を書いてるのですが、systemdを使ってアプリをデーモン化しています。なので、バックグラウンドでもちゃんとログ出力がファイルへ書き込まれ続けてくれないとダメです。

んで、実現した方法がこちら

環境

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
$ go version
go version go1.10.4 linux/amd64

実装

$ cd /etc/systemd/system
$ vi app.service
[Unit]
Description=App

[Service]
ExecStart=/bin/bash -c 'sudo go run main.go 2>> /home/ubuntu/go/src/html_menu_1/logfile'
WorkingDirectory=/home/ubuntu/go/src/html_menu_1/
Restart=always
Type=simple
User=ubuntu

[Install]
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
$ sudo systemctl start app.service
$ sudo systemctl status app.service
$ tail -f /home/ubuntu/go/src/html_menu_1/logfile

参考

なぜかわからないけど

2>>

すると実現できた。こうすると、ちゃんと下記のファイルにログがtail -fで監視してたら落ちてきてた。

/logfile
Pocket
LinkedIn にシェア

エンジニアにおすすめできる本

Card image cap
リーダブルコード

より良いコードを書くためのシンプルで実践的なテクニック

Card image cap
Webを支える技術

HTTP,URI,HTML,そしてREST

Card image cap
誰でもPythonで作れる

儲かるAIとソフトウェアの作り方

Card image cap
プログラマが知るべき97のこと

現場で使える実践哲学のマスターピース

Card image cap
情熱プログラマー

時代を超えて。ソフトウェア開発者の幸せな生き方

Card image cap
アジャイルサムライ

プログラミング達人開発者への道

Card image cap
Rubyを作った男 まつもとゆきひろ

コードの世界 スーパー・プログラマになる14の思考法

ご提供 sponsor
 

Meee!(ミー)は、ビジネスからプライベート利用まで、個人のスキルを気軽に売り買いできるスキルマーケットです。カテゴリや居住地から、検索することが可能です。

 

ランゲージエクスチェンジは、ネイティブスピーカーと気軽にマッチングできる言語交換プラットフォームです。あなたの地元に住む外国人を探したり、留学や海外移住の前に、現地のネイティブスピーカーと繋がることもできます!

宣伝
 

りょすけトークchは、仕事や私生活をより豊にするYouTubeチャンネルです。文献(本、映画、論文)から役に立つ情報をまとめ、生涯にわたり役に立つ哲学をお届けしています。是非、チャンネル登録してみてね

-ホーム

Copyright© offブログ! , 2021 All Rights Reserved Powered by AFFINGER5.