ホームページ > バックエンド開発 > Golang > Go コード内のエラーの行番号を取得するにはどうすればよいですか?

Go コード内のエラーの行番号を取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-13 18:40:19
オリジナル
302 人が閲覧しました

How Can I Get the Line Number of Errors in My Go Code?

Golang でのエラーの行番号の取得

Golang コードでエラーが発生した場合、デバッグ目的でエラーをログに記録することが重要です。ただし、log.Fatal だけでは、エラーが発生した行番号は提供されません。これにより、エラーの原因を追跡することが困難になる可能性があります。

この問題に対処するには、ログ フラグを変更して行番号情報を含めることができます。方法は次のとおりです:

  • カスタム ロガー: カスタム ロガーを作成し、目的の行番号形式 (フル パスの場合は Llongfile、ファイルのみの場合は Lshortfile) を含むようにその Flags フィールドを設定できます。名前)。
myLogger := log.New(os.Stdout, "", log.LstdFlags|log.Lshortfile)
ログイン後にコピー
  • デフォルトロガー: デフォルトのロガーのフラグを変更して行番号情報を含めることもできます:
log.SetFlags(log.LstdFlags | log.Lshortfile)
ログイン後にコピー

これらのフラグを設定すると、ログ出力に問題のある行が含まれるようになります。コード:

import (
    "log"
)

func main() {
    log.SetFlags(log.LstdFlags | log.Lshortfile)
    log.Fatal("Error occurred on line 14 in file my_file.go")
}
ログイン後にコピー

出力:

2022/09/20 13:52:15 my_file.go:14: Error occurred on line 14 in file my_file.go
ログイン後にコピー

これにより、より詳細なエラー メッセージが表示され、根本的な問題の特定と修正が容易になります。このメソッドは、致命的なエラー (log.Fatal など) の場合にのみ行番号を出力することに注意してください。他のログ レベル (log.Error など) の場合は、debug.PrintStack() を使用して完全な呼び出しスタックを出力できます。

以上がGo コード内のエラーの行番号を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート