質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

1回答

931閲覧

golang LogFileが作成されない

enokia

総合スコア23

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2021/09/25 06:19

Golangを使っています。
go run main.goを実行したときにwebapp.logというlogファイルを作成したいです。
しかしgo run main.goを実行すると2021/09/25 14:58:55 open : no such file or directoryというメッセージがターミナルに表示されlogファイルが作成されません。
メッセージを見てもどの場所が原因でlogファイルが作成されないのかがわからないです。
わかる人いましたらご教授お願いしたいです。

main.go

package main import ( "fmt" "golang_todo_app/config" "log" ) func main() { fmt.Println(config.Config.Port) fmt.Println(config.Config.SQLDriver) fmt.Println(config.Config.DbName) fmt.Println(config.Config.LogFile) log.Println("test") }

config/config.go

package config import ( "golang_todo_app/utils" "log" "gopkg.in/go-ini/ini.v1" ) type ConfigList struct { Port string SQLDriver string DbName string LogFile string } var Config ConfigList func init () { LoadConfig() utils.LoggingSettings(Config.LogFile) } func LoadConfig() { cfg, err := ini.Load("config.ini") if err != nil { log.Fatalln() } Config = ConfigList{ Port: cfg.Section("web").Key("port").MustString("8080"), SQLDriver: cfg.Section("db").Key("driver").String(), DbName: cfg.Section("db").Key("name").String(), LogFile: cfg.Section("web").Key("logfile").String(), } }

utils/logging.go

package utils import ( "io" "log" "os" ) func LoggingSettings(logFile string) { logfile, err := os.OpenFile(logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) if err != nil { log.Fatalln(err) } multiLogFile := io.MultiWriter(os.Stdout, logfile) log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) log.SetOutput(multiLogFile) }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ログファイル名が設定されていないためではないでしょうか。
LoggingSettings() で呼び出している os.OpenFile は開くファイル名が空文字を設定した場合に
そのようなエラーが出るようになっています。

ini ファイルで設定しているログファイル名を何か設定していないのではないかと思います。

投稿2021/09/25 09:43

kiino

総合スコア539

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問