ホームページ > バックエンド開発 > Golang > ログ ライブラリを使用して Go でログを記録する方法について話しましょう

ログ ライブラリを使用して Go でログを記録する方法について話しましょう

PHPz
リリース: 2023-04-13 10:17:40
オリジナル
856 人が閲覧しました

インターネット時代において、ログのクエリはプログラマーにとって重要なタスクです。複雑なシステムでは、維持する必要があるコードが数千行、場合によっては数万行あります。優れたログ システムがなければ、フロントエンドとバックエンドのエラーをチェックできず、多大な時間とコストがかかることになります。無駄だった。現代言語の代表である Golang は、当然ながら優れたログ クエリ エンジンを提供します。

まず、Golang でログのデバッグとクエリを実装するには、ログの書き込み、ログ レベルの設定など、いくつかの基本的な機能を提供する標準ライブラリ「Log」を使用する必要があります。以下に、Go でログを記録するためのログ ライブラリを使用する方法を簡単に紹介します。

Golangではログ情報を記録するために標準ライブラリの「log」を利用します。次のコードを使用すると、Hello World ログをコンソールに出力できます。

import "log"

func main() {
   log.Println("hello world")
}
ログイン後にコピー

このログは特に有用ではないため、検索やフィルタリングを実行できません。ログをより意味のあるものにするには、以下に示すように、タイムスタンプやアプリケーション名などのメタデータをこれに追加する必要があります。

func main() {
  log.SetPrefix("golang-query-log")
  log.SetFlags(log.LstdFlags | log.Lshortfile)
  log.Println("hello world")
}
ログイン後にコピー

これで、コンソールに次の出力が表示されます。

2021/02/21 16:40:39 golang-query-log main.go:21: hello world
ログイン後にコピー

これらのログがシステム ログではなくアプリケーションからのものであることがわかるように、プレフィックスを「golang-query-log」に設定します。また、ログ フラグを LstdFlags と Lshortfile に設定し、ファイル名と行番号をログに追加します。

以下に示すように、「bufio パッケージ」を使用してログをファイルに書き込むことができます:

logfile, _ := os.OpenFile("log.txt", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644)
defer logfile.Close()

log.SetOutput(logfile)
log.Println("hello world")
ログイン後にコピー

この例では、「logfile」のファイルを作成し、「log .SetOutput」ログを渡します。このファイルに。これは、標準設定とは異なり、ログがコンソールに表示されず、「log.txt」ファイルに書き込まれることを意味します。

プログラムやアプリケーションが複雑になるにつれて、学習したテクニックを使用して、ログ レベルを記録したり、必要に応じてログをフィルタリングまたは検索したり、その他の操作を実行したりできます。最新の言語ではログ記録が容易になったため、問題を見つけようとする代わりに、実際に問題を解決することに多くの時間を費やすことができます。

上記の紹介を通じて、Golang がログ クエリを実行する方法を誰もがすでに理解していると思います。ログ クエリは非常に重要なタスクです。問題を迅速かつ効率的に見つけるには、コード内のログ設定に注意し、ログ レベルと出力場所を適切に設定する必要があります。

以上がログ ライブラリを使用して Go でログを記録する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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