ホームページ  >  記事  >  バックエンド開発  >  log4phpの設定と使用法

log4phpの設定と使用法

炎欲天舞
炎欲天舞オリジナル
2017-08-04 10:17:093359ブラウズ

log4phpの使い方

まずlogger.phpファイルを紹介します。 log4php は、logger.php を導入することで自動読み込みプロセスを完了できます。ファイルの場所は次のとおりです。

log4phpの設定と使用法

ロガー自体はログの出力先と形式を定義していないため、通常、log4php を導入した後、最初に設定ファイルを導入する必要があります (詳細は以下を参照)。ロガーは、ログ情報を記録するためのコンポーネントです。構成ファイルを導入した後、getLogger を通じてロガー エンティティを取得します。ログ情報は、print メソッドを使用して印刷できます。印刷メソッドには通常、情報、警告、エラー、デバッグなどが含まれます。

include('Logger.php');
Logger::Configure(COMMON_PATH . 'Conf/log.php');//引入配置文件
$logger = Logger::getLogger("main"); //生成日志实例
$logger->info("This is an informational message."); //在规定好的输出目的地用规定好的输出格式显示信息消息

log4php 設定

log4php 設定ファイルは、XML、PHP、プロパティ (INI) およびその他の形式をサポートしています。プログラマブル構成もサポートされており、関数を通じて構成を変更できます。

class MyConfigurator implements LoggerConfigurator {
    
    public function configure(LoggerHierarchy $hierarchy, $input = null) {
 
        // Create an appender which logs to file
        $appFile = new LoggerAppenderFile('foo');
        $appFile->setFile('D:/Temp/log.txt');
        $appFile->setAppend(true);
        $appFile->setThreshold('all');
        $appFile->activateOptions();
        
        // Use a different layout for the next appender
        $layout = new LoggerLayoutPattern();
        $layout->setConversionPattern("%date %logger %msg%newline");
        $layout->activateOptions();
        
        // Create an appender which echoes log events, using a custom layout
        // and with the threshold set to INFO 
        $appEcho = new LoggerAppenderEcho('bar');
        $appEcho->setLayout($layout);
        $appEcho->setThreshold('info');
        $appEcho->activateOptions();
        // Add both appenders to the root logger
        $root = $hierarchy->getRootLogger();
        $root->addAppender($appFile);
        $root->addAppender($appEcho);
    }
}
        Logger::Configure(COMMON_PATH . 'Conf/log.php');

このコード行は、プロジェクトに構成を導入します。設定には通常、次の内容が含まれます。

1. ログ情報の優先度、 2. ログ情報の出力先、 3. ログ情報の出力形式。

1つ。 log4phpのログ情報の優先順位

ログ情報の優先順位は高い順にERROR、WARN、INFO、DEBUGとなっています。

一般的に使用される 4 つのレベルは次のとおりです:
DEBUG レベルは、きめの細かい情報イベントがアプリケーションのデバッグに非常に役立つことを示します。
INFO レベルは、メッセージがアプリケーションの実行プロセスを大まかなレベルで強調表示することを示します。
WARN レベルは、潜在的なエラー状況を示します。
ERROR レベルは、エラー イベントが発生しても、システムの継続的な動作には影響しないことを示します。

プログラムは、現在設定されているレベルよりも優先度の低い情報のみを表示できます。たとえば、現在のプログラム設定レベルは DEBUG であり、プログラム内のすべての情報を表示できることを意味します。現在のプログラムレベルが info の場合は、info、warn、error のログ情報のみが表示されます。

れぇ

Ⅱ。出力アドレスの設定

優先度と同様に、出力アドレスも設定ファイルで設定でき、ログカテゴリごとに異なる出力先を設定できます。例: e

    return array(
    'rootLogger' => array(
        'appenders' => array(
            'myConsoleAppender',
        ),
        'level' => 'DEBUG'
    ),
    )

log4PHP は 12 個の出力先をサポートしています。つまり:

    PHP に基づく
  • loggerappEnderConsole: // 出力先として STDOUT
  • loggerappEnderFile でファイルを出力先として
  • ファイルが宛先であり、1 つファイルは毎日出力されます
  • LoggerAppenderDbはデータベースの出力先です
  • LoggerAppenderEchoは実行ファイルの最後に出力されます
  • LoggerAppenderMailはメールの出力です
  • LoggerAppenderMailEventは出力ですイベントによってトリガーされるメール Ground
  • LoggerAppenderNull は情報を出力しません
  • LoggerAppenderPhp LoggerAppenderPhp は PHP エラー情報を出力し、各種ログレベル情報を PHP 標準情報に変換します
  • LoggerAppenderRollingFile には xxx.log が含まれます。 1、xxx .log.2の形式で出力
  • LoggerAppenderSocket ソケットモードで出力
  • LoggerAppenderSyslog システムログを出力先として使用し、PHPのsyslog()関数を使用して記録します

コードログイン系ログ情報を記録する出力先として、毎日ファイルが出力されることを規定しています。

三.ログファイルの出力形式

    出力先の属性として存在します。 Log4phpには以下の5種類の出力メソッドが含まれています:
  • LoggerLayoutHtml デバッグ情報をHTML形式で出力
  • LoggerLayoutSimpleは「レベル情報 - ログ情報」を使用します。 」形式で表示
  • LoggerLayoutTTCCは「月/日/年時刻[プロセス]レベル情報ログ名-デバッグ情報」の形式で表示
  • LoggerLayoutPatternを出力形式としてパターン式で表示(本モード出力形式をカスタマイズできます)
  • LoggerXmlLayout//xml モードで出力

LoggerLayoutPattern LoggerLayoutPattern モードの一部の形式パラメーター

LoggerLayoutPattern は、ログ情報形式をカスタマイズする方法を提供し、プロジェクトもこのモードログ メッセージをカスタマイズするためによく使用されます。実際の使用では、conversionPattern パラメータを設定してパターンを定義します。パラメータ変数は通常、log4php が提供するいくつかの変換指定子を使用して設定されます。

例:

'loginFileAppender' => [
            'class' => 'LoggerAppenderDailyFile',
            'layout' => [
                'class' => 'LoggerLayoutPattern',
                'params' => [
                    'conversionPattern' => '%date [%logger] %message%newline',
                ],
            ],
            'params' => [
                'file' => './log/login/login_%s.log',
                'datePattern' => 'Y_m_d',
            ]
        ],

形式は次のとおりです: yyyy-mm-ddThh:mm:ss+08:00.[ログの種類].ログの内容.改行。

    一般的に使用される変換指定子は次のとおりです:
  • %logger(%lo,%c) ログを要求するロガーの名前。
  • %data($d) 時間。デフォルトは ISO8601 形式です。形式は %data{(format)} を通じて変更できます。 + ) 現在のログイベントの優先度

以上がlog4phpの設定と使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。