API version 34
iOSAndroidWindows
|
|||
|
|
|
|
|
Logger |
||
|
|||
Loggerクラスはアプリケーション実行時のログを出力するための機能を集めたクラスです。
Loggerクラスではログレベルに応じたログの出力、ログファイルを分割する基準の設定(ログローテーション)、ログファイルの最大数の指定ができます。
Loggerクラスは、ログレベルによってログを出力するかどうかを制御します。
ログレベルとして下記が定義されています。
レベル |
ログレベル |
説明 |
定数 |
---|---|---|---|
0(高) |
Critical |
システムが停止する致命的な問題が発生した場合など |
Logger.LOGLEVEL_CRITICAL |
1 |
Error |
システムは継続可能だが重大な問題が発生した場合など |
Logger.LOGLEVEL_ERROR |
2 |
Warning |
システムは継続可能だが重大な注意が必要な情報など |
Logger.LOGLEVEL_WARNING |
3 |
Info |
システム運用中の重要な情報 |
Logger.LOGLEVEL_INFO |
4 |
Debug |
デバッグ用の情報 |
Logger.LOGLEVEL_DEBUG |
5(低) |
Trace |
関数の呼び出しや処理のステップなど、処理を追跡するための情報 |
Logger.LOGLEVEL_TRACE |
出力するログレベルはLogLevelプロパティで指定します。
Loggerクラスは、指定したログレベル以上のレベルのログだけを出力します。
例えば出力するログレベルをWarningに設定すると、ログレベルがCritical、Error、Warningのログだけが出力されます。
ログレベルを設定することで、運用に応じたログ出力の制御を最小限のコード変更で実現することができます。
例えば、テスト環境中のログレベルはDebug、本番環境中のログレベルはErrorとすることで、本番環境でログの出力によるパフォーマンスの低下を防ぐといったことができます。
Loggerクラスは同じファイルにログを追加し続けますが、一定の基準で新しいログファイルを作成します。
基準は次のどちらかを選択します。
説明 |
Logger.RotationTypeに指定する定数 |
---|---|
ログファイルのサイズが一定値を超えたとき |
Logger.ROTATION_TYPE_FILE_SIZE |
日付をまたいだとき |
Logger.ROTATION_TYPE_DAILY |
また、最大ファイル数を指定することもできます。Loggerクラスオブジェクトが生成されたとき、もしくは新しいログファイルが作成されるタイミングで最大ログファイル数を超えた分の古いログファイルが削除されます。
ログのファイル名のフォーマットは、ログローテーションによって異なります。
ログローテーション |
フォーマット |
例 |
---|---|---|
Logger.ROTATION_TYPE_FILE_SIZE |
bizbrowser_log.txt(最新のファイル) bizbrowser_log.N.txt(Nが大きいほど古く、新しいファイルを作成するごとにファイル名が変わる) |
bizbrowser_log.txt、bizbrowser_log.1.txt, bizbrowser_log.2.txt |
Logger.ROTATION_TYPE_DAILY |
bizbrowser_log_YYYY-MM-DD.txt(ファイルを作成した日付) |
bizbrowser_log_2025_04_10.txt |
Loggerクラスはこのフォーマットに従ったファイル名のファイルを自身が出力したログと判定します。
残したいファイルはファイルを移動させるか、ファイル名を変更してください。
逆に、このフォーマットに従ったファイルをログの出力先と同じディレクトリに保存すると、Loggerクラスにより削除される可能性があるため注意が必要です。
iOS版
Biz/Browser SmartDeviceのDocumentディレクトリからの相対パスで指定します。
このディレクトリはiOSに標準でインストールされている「ファイル」アプリからアクセス可能で
FileSystemコンストラクタで、FileSystem.FILEAPP_PUBLIC_ROOTを指定した場合にアクセスできるディレクトリと同じです。
出力されるログのフォーマットは次の通りです。
[YYYY-MM-DD hh:mm:ss.SSS] [<LogLevel>] メッセージ本文
・Loggerクラスは複数定義することができますが、ログの出力先が同じLoggerクラスを定義することはできません。そのようなLoggerクラスを定義するとLOG-2例外が発生します。
・ストレージの破損などの予期せぬ内部のエラーや、ストレージの空き容量の不足などによって、ログ出力ができなくなることがあります。
CRS上にLoggerクラスを定義すると、メインメニューにログ情報が表示されます。
メインメニューからログ取得の情報やログの操作を行うことができます。