2017-11-09 15 views
-1

私はAPI PHPバックエンドを構築しており、APIに接続された各IPのログファイルを作成したいと考えています。例えばLaravel 5.5 - リモートIPでLaravelログファイル名を変更するには?

20171108__192.168.1.2__myapp.log 
20171108__192.168.1.3__myapp.log 
20171109__192.168.1.2__myapp.log 

誰かがこの問題にアプローチするために私を助けてもらえますか?

ありがとうございます。

答えて

1

Laravelのログ使用Seldaek/monologです。したがって、ユーザーのIPに基づいて取得するリクエストごとに、Loggerの新しいインスタンスを作成できます。

use Monolog\Logger; 
use Monolog\Handler\StreamHandler; 

/** 
* The function inside your controller. 
* 
* @param \Illuminate\Http\Request $request The request object. 
*/ 
public function endpoint(Request $request){ 

    // Create the logger 
    $logger = new Logger('my_logger'); 

    // Generate the file name (20171109__192.168.1.2__myapp.log) 
    $filename = sprintf('%s/logs/%s__%s__myapp.log', storage_path(), date('Ymd'), $request->ip()); 

    // Add the handler 
    $logger->pushHandler(new StreamHandler($filename, Logger::DEBUG)); 

    // Use your logger 
    $logger->info('My logger is ready'); 

} 
+0

ありがとう、私はそれを試してみます... – vlauciani

+0

@vlauciani確かに。それがどうなるか教えてください:) –

関連する問題