API version 35

Loggerコンストラクタ

iOSAndroidWindows

 

説明

Loggerクラスオブジェクトを初期化します。

 

呼出形式

var logger1 = new Logger(fs, directoryPath [, rotationType [, maxFileCount [, maxFileSizeMb]]]);

 

戻り値

Loggerオブジェクト

 

引数

FileSystem fs

directoryPathで解決するパスの基準となるFileSystemオブジェクト

 

String directoryPath

ログの出力先

デフォルトはfsで指定したファイルシステムのルートディレクトリです。

 

integer rotationType

ログのローテーションの方法

以下のいずれかを指定します。

定数

説明

Logger.ROTATION_TYPE_FILE_SIZE

10

ファイルサイズがMaxFileSizeMbプロパティで指定した値を超えたときに新しいログファイルを作成します。

Logger.ROTATION_TYPE_DAILY

11

日付が変わったときに新しいログファイルを作成します。

 

デフォルトはLogger.ROTATION_TYPE_FILE_SIZEです。

 

integer maxFileCount

最大何個のログを出力できるか

デフォルトは5です。

 

integer maxFileSizeMb

RotationTypeプロパティにLogger.ROTATION_TYPE_FILE_SIZEを指定した場合の、ログファイルの最大サイズをMB単位で指定します。

デフォルトは100です。

 

例外

LOG-1

Loggerの初期化に失敗しました。

 

LOG-2

DirectoryPathが同じLoggerがすでに存在します。別の名前に変更してください。

 

LOG-5

DirectoryPathにアクセスできません。

 

LOG-7

コンストラクタ引数が少なすぎます。

 

使用例

/* DB更新開始 */
var logger1 = new Logger(new FileSystem(FileSystem.PRIVATE_ROOT));
logger1.Trace("start to update DB");
var session = HttpSession.FindSession("https://sample.com");
try {
    var res = session.Get("/shohin.csv");
    if (res.Status != 200) {
        /* 通信エラーが発生した場合 */
        logger1.Warning("Http status:" + str(res.Status));
        return;
    }
} catch(e) {
    logger1.Warning("Network error!");
    return;
}
try {
    var csvdoc = new CSVDocument;
    csvdoc.load(res);
} catch(e) {
    /* サーバーから不正なデータが送信されてきた */
    logger1.Error("CSV load error!");
    return;
}
try {
    var db = new LocalDB(new FileSystem, "shohin.db");
} catch(e) {
    /* ストレージ異常の可能性 */
    logger1.Critical("Failed to open DB!");
    return;
}
for (var r = 0; i < csvdoc.rows; i++) {
    try {
        /* デバッグ情報 */
        logger1.Debug("data(" + str(r) + "):" + csvdoc.GetCell(r, 0) + ":" + csvdoc.GetCell(r, 1) + ":" + csvdoc.GetCell(r, 2));
        db.exec("insert int shohin value(" + csvdoc.GetCell(r, 0) + "," + csvdoc.GetCell(r, 1) + "," + csvdoc.GetCell(r, 2) + ")");
    } catch (e) {
        /* DB破損、SQL構文ミスの可能性 */
        logger1.Critical("Failed to update DB!");
        db.rollback();
        return;
    }
}
db.commit();
db.close();
/* DB更新成功ログ */
logger1.Info("DB is updated!");

 

関連項目

 



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る