Diarkis サーバーログレベルの変更方法

概要

現在のログレベルを変えて出力する情報を変更する方法を説明します。

Diarkis のログレベルには以下の 8 つがあります。

ログレベル名

verbose

最も低いログレベルで、内部で何が起きているかを確認するためのものです。本番環境では利用しないようにして下さい。

network

sys レベルよりも低いログレベルで、UDP/TCP ネットワーク関連のログを出力します。

sys

3番目に低いログレベルで、より詳細な情報を記録します。

debug

デバッグ目的の情報を記録し、通常はアプリケーションレベルのコードで使用されます。

info

アプリケーションの開始や終了、その他重要な情報を記録します。

notice

アプリケーションにとって重要ではあるが、致命的ではない情報を記録する際に使用します。

warn

エラーではないものの、記録して後で確認するべき警告情報を記録します。

error

ユーザーまたはアプリケーションによって引き起こされる可能性のあるエラーを記録します。

fatal

回復不能な問題を記録します。

サーバー起動時のコンフィグファイルでログレベルの指定が可能です。出力されるログは指定されたログレベル以上のもの( info を指定した場合は、それ以降の info/notice/warn/error/fatal レベル)が出力されます。

コピー

verbose < network < sys < debug < info < notice < warn < error < fatal

また、バグ調査のためにパケット情報を出力するためには network レベルを指定する必要があります。

ただし、verbose/ network などログレベルを下げることでログ出力にかかるコスト(CPU 負荷や保存にかかる料金)も高くなるので本番環境で利用する際はご留意ください。

手順

コンポ各コンポーネントのコンフィグディレクトリに 💾 log.json が格納されております。その中の level プロパティを変更することでログレベルの変更が可能です。値には上記に記載のログレベル名を指定します。

  "level": "info"

diarkis-server-template を利用している場合、実行する環境によって以下の通り編集する箇所が異なります。

# ローカル環境の TCP/UDP/HTTP のログレベル変更は以下ファイルを編集します
{path to project}/configs/shared/log.json

# Kubernetes 環境の場合は利用しているクラウドサービスによって異なります
## AWS の dev0 ネームスペース
{path to project}/k8s/aws/overlays/dev0/shared/conf/log.json
## Azure の dev0 ネームスペース
{path to project}/k8s/azure/overlays/dev0/shared/conf/log.json
## GCP の dev0 ネームスペース
{path to project}/k8s/gcp/overlays/dev0/shared/conf/log.json
## Linode の dev0 ネームスペース
{path to project}/k8s/linode/overlays/dev0/shared/conf/log.json

補足

diarkis-server-template のそのままの構成では、各コンポーネントごとにログレベルを変更することが出来ません。

各コンポーネントごとに変更したい場合は、以下ドキュメントを参照してください。

また、logger ごとにログレベルを変更することもできます。詳しくは以下ドキュメントを参照してください。

最終更新

役に立ちましたか?