如何在一个已经开发好的java系统中,为某个功能下的方法,添加用户操作日志呢?没有使用spring,也无法用过滤器,是一个类似C/S结构的系统。
如用户在操作某个功能时,需要在日志中输出 用户名 操作的方法名 操作时间 等
開発したシステムの機能オブジェクトの外側に独自のオブジェクトのレイヤーをラップして、機能オブジェクトと同じインターフェイスを実装したり、機能オブジェクトを直接継承したりできます。つまり、プロキシ モードを使用してプロキシにログを追加するだけです。自分自身に反対してください。
1. JDK の動的プロキシの使用
JDK
2. CGLIB バイトコード拡張ライブラリを使用します
CGLIB
フィルターはありませんが、インターセプターはあります
ソースコードを変更せずに直接ログ出力機能を追加することを意味します
リフレクションを使用して情報の変更を記録するログを作成しました。これは非常に基本的なものですが、元のコードに埋め込む必要があります。
Java リフレクションを使用します。
開発したシステムの機能オブジェクトの外側に独自のオブジェクトのレイヤーをラップして、機能オブジェクトと同じインターフェイスを実装したり、機能オブジェクトを直接継承したりできます。つまり、プロキシ モードを使用してプロキシにログを追加するだけです。自分自身に反対してください。
1.
JDK
の動的プロキシの使用2.
CGLIB
バイトコード拡張ライブラリを使用しますフィルターはありませんが、インターセプターはあります
ソースコードを変更せずに直接ログ出力機能を追加することを意味します
リフレクションを使用して情報の変更を記録するログを作成しました。これは非常に基本的なものですが、元のコードに埋め込む必要があります。
Java リフレクションを使用します。