ロガー
最も簡単かつ迅速なアプローチは、箱から出してLaravelが提供するロガーを使用することです。
あなたは、このようなコードの行を追加して、ユーザーを追跡することができます。$ idは
$user = Auth::user();
それとも、それはあなたの全体で再利用するための静的メソッドを作成して乾燥させることです
Log::info('Showing user profile for user: '.$id);
をアプリケーション:
public static function trackUser($message){
$user = Auth::user();
Log::info('Showing user profile for user: '.$user->id);
}
これを拡張して、必要に応じてデータを追加します。でLaravelロガーについて
詳細情報:
https://laravel.com/docs/5.2/errors#logging
イベントログ/修正また、あなたはまた、のようなものを検討する必要がありますお使いのシステム内のエンティティを追跡する場合
イベントログ:
これまで私はこのライブラリを使用していました:https://github.com/VentureCraft/revisionableこれは私の目的のためにうまくいきました。
エンティティが変更、作成、または削除されると、以前の値と新しい値のシリアル化された値を持つリビジョンテーブルにレコードが挿入されます。
エンティティを設定する必要があります。その後
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Sofa\Revisionable\Laravel\RevisionableTrait;
use Sofa\Revisionable\Revisionable;
class Invoice extends Model implements Revisionable {
use RevisionableTrait;
protected $table = 'invoices';
protected $fillable = ['po_id', 'file_name', 'charges', 'customer', 'company', 'notes', 'tax', 'created_by'];
protected $revisionPresenter = 'App\Presenters\InvoicePresenter';
public function po()
{
return $this->belongsTo('App\PO');
}
public function transactions()
{
return $this->hasMany('App\Transaction');
}
}
あなたのコード内の余分な何もせずに自分のエンティティに変更追跡できるようになります。これは、私はエンティティにそれを設定する方法の一例です。
イベントソーシング
イベントソーシングは、アプリケーションの複雑さの多くを紹介しますが、それは問題の多くを解決します。このパターンを実装することで、ユーザがシステムで何をしているのかを記録するだけでなく、時間の経過と共に各エンティティを追跡することができます。これは、発生したイベントを格納し、すべてのイベントを実行してエンティティを再作成することによってのみ実現されます。これはパフォーマンスに影響しますが、このパターンをマテリアライズド・ビュー・パターンと組み合わせることで解決できます。これは最終的な一貫性をあなたのアプリに加えることができます。
そうでない場合は、あなた(とあなたのチームは)複雑
の痛みを感じることが、このパターンを使用しての価値が本当に存在していることを確認してください私は、イベントソーシング(足りない評判)のためのリンクを投稿することができませんでしたしかし、ここはそれです:[Laravel-Broadway](https://github.com/nWidart/Laravel-broadway)。パターンの全体的な説明は次のとおりです。[Microsoft Design Patterns](https://msdn.microsoft.com/en-us/library/dn589792.aspx) – gaheinrichs
ありがとう@gaheinrichs。私はあなたが言ったように試してみます。 – Nagesh
@gaheinrichsリンクに加えて、回答に関連する情報を含めるとよいでしょう。それ以外の場合、リンクのみの回答はすぐに削除対象とみなされます。ここでは高品質の回答を非常にうまく開始しているので、余計な手順を踏んで、推奨する方法を使用する方法を説明してください。 –