匿名

差分

Asterisk ログファイル

1,025 バイト追加, 2020年8月23日 (日) 14:24
編集の要約なし
デフォルトの設定では/var/log/asterisk/messagesに、ログレベルnotice, warning, errorが出力されます。<br>
ログファイルの設定は/etc/asterisk/logger.confで行います。
<nowiki># ; /etc/asterisk/logger.conf
[logfiles]
messages => notice,warning,error</nowiki>
また、ログレベルの前に[json]を付与するとJSON出力が可能です。
<nowiki>; /etc/asterisk/logger.conf[logfiles]full-json => [json]debug,verbose,notice,warning,error,dtmf,fax</nowiki>
'''警告:debugログレベル及びこれを含む*ログレベルを使用すると、極めて多量のログが出力されます。運用モードではdebugログを出力しないことを強く勧めます!'''<br>
===ローテートの仕方の設定===
ログのローテートのファイル名の付け方をlogger.confの[general]セクションで設定できます。<br>
<nowiki>; /etc/asterisk/logger.conf[general]
rotatestrategy=sequential</nowiki>
古いログファイルを4世代保持しておき、古いファイルから消していくためには、[general]セクションで次のように設定します。<BR>
''記載途中'' <nowiki>; /etc/asterisk/logger.conf[general]rotatestrategy=rotateexec_after_rotate=rm -f $["${filename}" : "(.+)\.0$"].4</nowiki>
設定ファイルを変更したら、[[Asterisk CLI]]でlogger reloadを行うと変更が反映されます。
 
: 解説:上記の設定ファイルではAsterisk expressionsの記法が使用されています。${filename}は、rotatestrategy=rotateにおいては「/var/log/asterisk/messages.0」のような文字列になります。
: これに正規表現 "(.+)\.0$" をマッチ(:演算子は正規表現をマッチさせる演算子ですが、暗黙の「^」により文字列の先頭にマッチされます)させ、Asterisk expressionsの正規表現は他の多数の言語でいう$1を返す仕様のため、
: これに".4"を付与したものを削除することで、最も古いログファイルを削除します。
: 詳細は[[Asterisk expressions]]を参照してください。
===ローテートの実行===
[Service]
Type=simple
# root以外のユーザーでAsteriskを実行している場合は下2行でAsteriskの実行ユーザーに合わせてください
#User=asterisk
#Group=asterisk