私はJNIを介してJavaアプリケーションによって使用されているC++のライブラリを持っています。 Javaアプリケーションではログを生成するためにログバックを使用しています。C++からJavaへのメッセージのログ
これでC++ライブラリメッセージもログに記録する必要があり、Javaで使用されているのと同じファイルで実行する必要があります。
私の現在のアプローチは、という名前のC++クラスを作成して、Loggerを作成してJNIを介してJavaにメッセージを送信し、Javaがこれらのメッセージを記録することです。欠点は、スレッドの名前やログを生成したコードの行をログに記録するなどのLogback機能が失われていることです。
良い方法がありますか?
'__LINE__'とそれに関連するマクロはおそらくあなたの友人です。 –
私はスレッドとコード行が自分自身にメッセージを追加する必要があると思っています。 Logbackは、あなたがそれを実行するJavaコードに対してこれを取得しようとします。 Logbackを呼び出すのとは別のスレッドで実行している場合、スレッドの名前は失われます。 –
C/C++でコード行を取得できますか? '__LINE__'マクロ以外では? – SJuan76