Logrus を使用した Go の集中ログ設定
Logrus は、Go アプリケーションの人気のあるログ パッケージです。構成可能なオプションが用意されていますが、複数のソース ファイルにわたってこれらの構成を管理するのは面倒な場合があります。
ただし、各ファイルでオプションを設定しなくても、logrus の集中構成を実現することは可能です。効果的なアプローチを 3 つ紹介します。
1.グローバル ログ変数: 次のようにグローバル ログ変数を定義できます:
import log "github.com/Sirupsen/logrus" var log = logrus.New()
これで、log.SetOutput() などのすべての Logrus 関数がグローバル ロガーを変更し、これらの構成をアプリケーション全体に適用します。
2.カスタム ロガー ラッパー: Logrus ロガーをラップし、独自のラッパー関数を提供するカスタム パッケージを定義します:
// package customlog package customlog import ( "github.com/Sirupsen/logrus" ) var logger = logrus.New() func Info(args ...interface{}) { logger.Info(args...) } func Debug(args ...interface{}) { logger.Debug(args...) }
アプリケーションで、このカスタム パッケージをインポートし、代わりにその関数を使用します:
import "customlog" customlog.Info("This message will be logged through the central logger.")
3.トップレベル関数: Logrus 関数をカプセル化するトップレベル関数を作成し、グローバル ロガーを変更できます:
import "github.com/Sirupsen/logrus" func SetLevel(level logrus.Level) { logrus.SetLevel(level) } func SetFormatter(formatter logrus.Formatter) { logrus.SetFormatter(formatter) }
これらのアプローチのいずれかを使用すると、Logrus 構成の管理を 1 つの環境で集中管理できます。単一の場所にあるため、ロギング設定を 1 か所で調整し、アプリケーション全体に適用するのに便利です。
以上がGo アプリケーションで Logrus 構成を一元管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。