0

カスタム エラーまたはカスタム メッセージの新しいログ ファイルを作成したいのですが、それができません。main.php ファイルにも変更を加えました。

        array(
                'class'=>'CFileLogRoute',
                'levels'=>'mailerror',
                'categories'=>"system.*",
                'logFile'=>'mailError.log'.date('d-m-y s'),
            ),

            array(
                'class'=>'CFileLogRoute',
                'levels'=>'error, info',
            ),

この後、index.phpでコードをテストしようとすると、これが私のコードです

echo Yii::log("Mailer Error ",'mailerror','system.*');

その後、これは機能していません。何も起こっていません。

4

3 に答える 3

1

わかりましたエラーが発生しました。アプリケーションインデックスファイルであるindex.phpファイルでこれらのコードを実行しようとしていると言ったので、これは機能しませんでした。しかし、ビューファイルまたは保護されたビューフォルダーにあるビューファイルでコードを試したところ、正常に動作しました。また、コードをこれに変更しました

'routes'=>array(
            array(
                'class'=>'CFileLogRoute',
                'levels'=>'mailerror',
                'categories'=>"system.*",
                'logFile'=>'mailError.log'.date('d-m-y s'),
            ),

            array(
                'class'=>'CFileLogRoute',
                'levels'=>'error, info',
            ),

このコードは基本的に、日付から「s」を削除すると毎秒ログファイルを生成し、これは毎日ファイルを生成します。

echo Yii::log("Error : While occuring with function in file",'mailerror','system.*');
echo Yii::log("Error : error in another option",'mailerror','system.*');
echo Yii::log("Error : error diff function",'mailerror','system.*');

したがって、これはビューフォルダーにあるadmin.phpファイルから呼び出す私の関数です。そのため、主なエラーは、テストのためにアプリケーションインデックスファイルから「ログ関数を呼び出そうとしていました」であり、他のビューファイルから試してみると正常に動作しました。とにかく、あなたの助けとサポートに感謝します。CreatorR と darkheir に感謝

于 2013-10-23T12:05:46.877 に答える
0

私の言っていることが 100% 確実というわけではありませんが、独自のレベルのログを作成することはできないようです:

メッセージ レベルは、次のいずれかの値である必要があります。

  • trace: これは、Yii::trace によって使用されるレベルです。開発中のアプリケーションの実行フローをトレースするためのものです。
  • info: これは、一般的な情報を記録するためのものです。
  • profile: これは、簡単に説明するパフォーマンス プロファイル用です。
  • warning: これは警告メッセージ用です。
  • error: これは致命的なエラー メッセージ用です。

ソース

レベルではなく、ログのカテゴリを変更する必要があります。

echo Yii::log("Mailer Error ",'error','mailerror');

そして設定で:

array(
    'class'=>'CFileLogRoute',
    'levels'=>'error',
    'categories'=>"mailerror",
    'logFile'=>'mailError.log'.date('d-m-y s'),
),
于 2013-10-23T11:45:18.937 に答える
0

に変更してみてください: echo Yii::log("Mailer Error ",'error','system.mailerror');(CLogger::LEVEL_ERROR代わりにを使用することをお勧めしますerror)

更新
このテストでは、CLogger を再構成する必要があります。Yii::log の前に挿入してみてください

    $logger = Yii::getLogger();
    $logger->autoFlush = 1;
    $logger->autoDump = true;
于 2013-10-23T11:47:44.330 に答える