Go アプリケーションでのログインを無効にする方法は?

Linda Hamilton
リリース: 2024-11-15 11:35:02
オリジナル
467 人が閲覧しました

How to Disable Logging in Go Applications?

Disabling the Default Logger in Go

Many Go applications make use of the log package for logging. By default, the standard logger writes to standard output and can be verbose at times. When it's necessary to disable logging, there are a few approaches to consider.

One option is to manually check a flag before making log calls or comment them out in production. However, a more elegant and efficient way to disable logging is to redirect the logger's output.

Using io/ioutil.Discard

Prior to Go 1.16, one method of disabling logging involved creating a custom io.Writer type that discarded the output. This can be achieved by defining a struct that implements the Write method and makes it discard the data:

type discardWriter struct{}

func (w discardWriter) Write(p []byte) (n int, err error) {
    return len(p), nil
}
ログイン後にコピー

You can then use this custom writer to redirect the logger's output:

import (
    "log"
    "io/ioutil"
)

func init() {
    log.SetOutput(ioutil.Discard)
}
ログイン後にコピー

With this setup, the logger will appear to be writing to standard output, but the output will be silently discarded.

Using io.Discard (Go 1.16+)

In Go 1.16 and later, a simpler approach is available. The io/ioutil package provides a Discard writer that discards all data written to it. You can use it directly as follows:

log.SetOutput(io.Discard)
ログイン後にコピー

This will completely disable logging for the standard logger.

以上がGo アプリケーションでのログインを無効にする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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