[解決済み] なぜfmt.Printlnではなくlog.Printlnを使用しなければならないのですか?
2023-03-17 20:41:17
質問
から log.go (logパッケージの実装) :
167 // Println calls l.Output to print to the logger.
168 // Arguments are handled in the manner of fmt.Println.
169 func (l *Logger) Println(v ...interface{}) { l.Output(2, fmt.Sprintln(v...)) }
log.Println
は単なる関数ラッパーで
fmt.Sprintln
の関数ラッパーに過ぎず、なぜそれを
fmt.Println
または
fmt.Sprintln
?
実用的な理由は何ですか?
どのように解決するのですか?
2つの事柄が異なっています。
-
パッケージログ経由の印刷は、同時実行のゴルーチンから安全です(一方、プレーンな
fmt
ではありません) -
ログはタイミング情報を自動的に追加することができます。
つまり、これらは全く別のものです。logはログを取るためのものであり
fmt
は書式設定用です。(なるほど、logは同じ動詞とフラグを使いますが、それは便利なだけです)。
関連
-
[解決済み] 異なるログレベルを使用する場合
-
[解決済み】なぜjava.util.loggingを使用しないのですか?
-
[解決済み] start-stop-daemonで起動したプロセスのstdoutを記録するにはどうすればよいですか?
-
[解決済み] Log.INFO vs. Log.DEBUG [終了しました。]
-
[解決済み] プログラムの運用に最適なHaskellのライブラリは?[クローズド]
-
[解決済み] コマンドウィンドウの行数を増やす
-
[解決済み] ansible-playbookモジュール実行のログ/詳細を取得するにはどうすればよいですか?
-
[解決済み] Dockerコンテナのログがディスクの空き容量を圧迫している
-
[解決済み] Google Apps Scriptでコンソールに印刷する?
-
[解決済み] vlcのログを取得する方法は?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] start-stop-daemonで起動したプロセスのstdoutを記録するにはどうすればよいですか?
-
[解決済み] Log.INFO vs. Log.DEBUG [終了しました。]
-
[解決済み] プログラムの運用に最適なHaskellのライブラリは?[クローズド]
-
[解決済み] コマンドウィンドウの行数を増やす
-
[解決済み] ansible-playbookモジュール実行のログ/詳細を取得するにはどうすればよいですか?
-
[解決済み] なぜ "log and throw "はアンチパターンと言われるのか?[クローズド]
-
[解決済み] Dockerコンテナのログがディスクの空き容量を圧迫している
-
[解決済み] Google Apps Scriptでコンソールに印刷する?
-
[解決済み] vlcのログを取得する方法は?[クローズド]