From: Mathieu Desnoyers Date: Fri, 15 Nov 2013 16:59:46 +0000 (-0500) Subject: JUL: install documentation and jar file X-Git-Tag: v2.4.0-rc1~4 X-Git-Url: https://git.lttng.org/?a=commitdiff_plain;h=6490eba0f6e5e7f5a50d4707f4b60fca0cc61e1e;p=lttng-ust.git JUL: install documentation and jar file Signed-off-by: Mathieu Desnoyers --- diff --git a/configure.ac b/configure.ac index 37ea8c65..1eda569c 100644 --- a/configure.ac +++ b/configure.ac @@ -273,6 +273,9 @@ AC_ARG_WITH([lttng-system-rundir], AC_DEFINE_UNQUOTED([LTTNG_SYSTEM_RUNDIR], ["$lttng_system_rundir"], [LTTng system runtime directory]) +lttnglibjavadir="${libdir}/lttng/java" +AC_SUBST(lttnglibjavadir) + AC_CONFIG_FILES([ Makefile doc/Makefile diff --git a/doc/Makefile.am b/doc/Makefile.am index ccd6d189..4349713b 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -3,3 +3,5 @@ SUBDIRS = . examples dist_man_MANS = man/lttng-gen-tp.1 \ man/lttng-ust.3 \ man/lttng-ust-cyg-profile.3 + +dist_doc_DATA = java-util-logging.txt diff --git a/doc/java-util-logging.txt b/doc/java-util-logging.txt new file mode 100644 index 00000000..9f827e6a --- /dev/null +++ b/doc/java-util-logging.txt @@ -0,0 +1,41 @@ +The support for JUL needs to be explicitly enabled when lttng-ust is +configured, e.g.: + +dependency: openjdk-7-jdk + ./configure --with-java-jdk=/usr/lib/jvm/java-7-openjdk --with-jni-interface + +On Debian system for instance you can simply use the "default-java" path: + + ./configure --with-java-jdk=/usr/lib/jvm/default-java --with-jni-interface + +Note that the OpenJDK 7 is used for development and continuous integration thus +we directly support that version for this library. However, it has been tested +with OpenJDK 6 also. Please let us know if other Java version (commercial or +not) work with this library. + +The LTTng Java Agent for JUL support is typically installed here: + +/usr/local/lib/lttng/java/liblttng-ust-jul.jar + +After building, you can use the "liblttng-ust-jul.jar" file in a Java project. +It requires "liblttng-ust-jul.so" which is installed by the build system when +doing "make install". Make sure that your Java application can find this shared +object with the "java.library.path". + +In order to enable the agent in your Java application, you simply have to add +this as early as you can in the runtime process. + +import org.lttng.ust.jul.LTTngAgent; +[...] + private static LTTngAgent lttngAgent; + [...] + lttngAgent = LTTngAgent.getLTTngAgent(); + +This will initialize automatically the singleton LTTngAgent, and will +return when session daemon registration is done. If no session daemon is +available, the execution will continue and the agent will retry every +3 seconds. + +Once registered, it is adds a thread inside your Java application and will be +able to automatically use every Logger object and map them to the jul_event +tracepoint of the JNI interface. diff --git a/liblttng-ust-jul/Makefile.am b/liblttng-ust-jul/Makefile.am index ac3d5217..e4f0480b 100644 --- a/liblttng-ust-jul/Makefile.am +++ b/liblttng-ust-jul/Makefile.am @@ -8,6 +8,8 @@ nodist_liblttng_ust_jul_jni_la_SOURCES = org_lttng_ust_jul_LTTngUst.h dist_noinst_DATA = $(LTTNG_JUL_SRCDIR)/LTTngUst.java liblttng_ust_jul_jni_la_LIBADD = -lc -L$(top_builddir)/liblttng-ust/.libs -llttng-ust +lttnglibjava_DATA = liblttng-ust-jul.jar + LTTNG_JUL_SRCDIR = $(srcdir)/org/lttng/ust/jul LTTNG_JUL_DESTDIR = $(builddir)/org/lttng/ust/jul diff --git a/liblttng-ust-jul/README b/liblttng-ust-jul/README deleted file mode 100644 index 6e2ee98b..00000000 --- a/liblttng-ust-jul/README +++ /dev/null @@ -1,38 +0,0 @@ -This directory contains the LTTng Java Agent for JUL support. - -Configuration examples to build this library: - -dependency: openjdk-7-jdk - ./configure --with-java-jdk=/usr/lib/jvm/java-7-openjdk --with-jni-interface - -On Debian system for instance you can simply use the "default-java" path: - - ./configure --with-java-jdk=/usr/lib/jvm/default-java --with-jni-interface - -Note that the OpenJDK 7 is used for development and continuous integration thus -we directly support that version for this library. However, it has been tested -with OpenJDK 6 also. Please let us know if other Java version (commercial or -not) work with this library. - -After building, you can use the "liblttng-ust-jul.jar" file in a Java project. -It requires "liblttng-ust-jul.so" which is installed by the build system when -doing "make install". Make sure that your Java application can find this shared -object with the "java.library.path". - -In order to enable the agent in your Java application, you simply have to add -this as early as you can in the runtime process. - -import org.lttng.ust.jul.LTTngAgent; -[...] - private static LTTngAgent lttngAgent; - [...] - lttngAgent = LTTngAgent.getLTTngAgent(); - -This will initialize automatically the singleton LTTngAgent, it will stall -your application until the session daemon registration is done. If no session -daemon is available, the execution will continue and the agent will retry at -each 3 seconds. - -Once registered, it is adds a thread inside your Java application and will be -able to automatically use every Logger object and map them to the jul_event -tracepoint of the JNI interface (see LTTngUst.c/.java).