1

私は自分のプロジェクトで OSGi を学習しようとしていますが、Equinox 3.5 で導入されたExtendedLogServiceandに出会いました。ExtendedLogReaderServiceそれがどのように機能するかを理解し、プロジェクトで使用するのに役立つチュートリアルや例はありますか?

ありがとう。

4

2 に答える 2

1

ExtendedLogService はまだ試していません。インターフェイスを見ると、一般的なロギング フレームワークに似ているように見えます。では、確立されたロギング API を使用しないのはなぜでしょうか? OSGi ロギング サービスを使用すると、すべてのコードが OSGi に関連付けられます。確立されたフレームワークは、OSGi の内外で機能します。アプリケーションで slf4j を使用することをお勧めします。これを OSGi で機能させるには、pax ロギング フレームワークが必要です。Pax ロギングは、log4j や java.util.logging などの他の大きなロギング API もサポートしています。サーバー プロジェクトを行っている場合は、pax ロギングやその他の多くのライブラリが既に含まれているApache Karafも参照することをお勧めします。

于 2012-07-18T12:01:42.977 に答える
0

私はExtendedLogServiceを実装しませんでしたが、org.osgi.service.log.LogReaderService org.osgi.service.log.LogEntry , org.osgi.service.log.LogListener役立つと思うものを実装しました。

チュートリアルについて私はこの1つのロガーチュートリアルに従います

OSGiのロギング機能に対する私の見解、

OSGiでのロギングの構造

log4jとslf4jは、S0Aアーキテクチャでは機能しないため、特に避けていました。log4jをOSGiファイド環境で動作させるPaxLoggingが利用可能ですが、log4jプロパティへのバンドルの情報はデザインパターンを損なうと思います。OSGifiedenvのlog4jに疑問を呈した開発者はたくさんいます。

                                  LogListener (LogListnerImpl)
                                                ^
                                                |       
                                                | Dispatches the LogEvent to LogListner
                                                |
 Log Service ---- Send a LogEvent -->   LogReaderService (log.jar)  
    ^
    |
    |
Bundle write a log

================================================== =========================

経験豊富な開発者が私を訂正してくれれば幸いです。

于 2013-02-27T07:44:43.793 に答える