diff --git a/README.md b/README.md index 1cd626bd..bd18cf1a 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,14 @@ any native code. access to the XSLT processor inside your Java platform, which is faster and can support more of the XSLT standard than libxslt. +## Logging + +Trireme uses slf4j for logging the stuff that is happening in Java. The pre-built JAR, and the NPM +"trireme" wrapper, use "slf4j-simple". To turn on debug logging, set the system property +"org.slf4j.simpleLogger.defaultLogLevel" to "debug". (Or "trace" for even more output.) + +When embedding trireme, you can use any SLF4J-compatible logging framework you wish, such as logback. + ## How Complete is Trireme? Trireme supports most of the Node.js APIs and passes much of the Node.js test suite. @@ -183,10 +191,12 @@ A few of the modules are different, some in major ways: ### JavaScript Language Trireme runs in the JVM on Rhino, which is the most complete JavaScript implementation for -the JVM. Rhino currently implements version 1.8 of JavaScript, which means that a few things supported -in later versions of JavaScript, such as the "trimLeft" method of the "String" object, are not supported. +the JVM and the one that works on the largest variety of Java distributions. The latest version of Rhino +has many of the new JavaScript language features that Node users are used to, but still does not +have all the features that are supported when the "--harmony" flag is set. -Also, newer features of V8, particularly the primitive array types, are not supported in Rhino. +For specifics, see the [Rhino compatibility table](http://mozilla.github.io/rhino/compat/engines.html). +Trireme is currently using RHino 1.7.7. Most of the time the differences between V8 and Rhino do not affect Node.js code, but occasionally there is a problem. We would love some help from the Rhino community to start to address these differences. @@ -267,7 +277,7 @@ In addition, the following is also valid, and "trireme-crypto" will not be neede Like TLS, certain features (Sign/Verify in particular) only work if the "trireme-crypto" module and its dependencies are in the class path. If they are not present then these methods will throw an exception. This is primarily because the trireme-crypto module uses Bouncy Castle to implement PEM file reading -and decryption. +and decryption. It is possible to run Trireme without Bouncy Castle if these features are not needed. ### Child Process @@ -351,6 +361,7 @@ This table will help keep them straight: moduleRequired?Recommended?Description trireme-coreXXThe core module containing the guts of Trireme trireme-node10srcXXJavaScript code that makes Trireme implement Node.js 0.10 +trireme-node12srcXXJavaScript code that makes Trireme implement Node.js 0.12 trireme-cryptoX Support code for reading PEM files and some other crypto operations. Uses Bouncy Castle. If not in the classpath, certain crypto operations (notably PEM file support for TLS and HTTPS) will not work. Nonetheless, this is a separate diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 8175e2ba..828d3acb 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -22,6 +22,7 @@ the main thread rather than by exiting the script. This slows things down but ma much more robust. [Issue 114](https://github.com/apigee/trireme/issues/114) Fix TriremeServlet so that it properly reads large bodies coming from the client without corruption. +[Issue 120](https://github.com/apigee/trireme/issues/120) Speed up Trireme startup. Also, upgrade to Rhino 1.7.7. This fixes a bug with calling "toJSON" on certain Error objects, and introduces support for native arrays, among many other things. (Native arrays like Int32Array are diff --git a/nodetests/pom.xml b/nodetests/pom.xml index bc985000..6c6b2825 100644 --- a/nodetests/pom.xml +++ b/nodetests/pom.xml @@ -65,8 +65,8 @@ test - ch.qos.logback - logback-classic + org.slf4j + slf4j-simple test diff --git a/npm-package/pom.xml b/npm-package/pom.xml index 21130b5e..60197d51 100644 --- a/npm-package/pom.xml +++ b/npm-package/pom.xml @@ -40,8 +40,8 @@ - ch.qos.logback - logback-classic + org.slf4j + slf4j-simple diff --git a/npm-package/src/main/resources/lib/logback.xml b/npm-package/src/main/resources/lib/logback.xml deleted file mode 100644 index 4700a3a8..00000000 --- a/npm-package/src/main/resources/lib/logback.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - %d{HH:mm:ss.SSS} %thread %-5level %logger{25} - %msg%n - - - - - - -