JavaSVN The only pure Java Subversion client library in the world!
Logging JavaSVN operations
If you experience problems that you think are JavaSVN related, it is always a
good idea to post a bug report into JavaSVN Issue Tracker. To provide
more information with the bug report, please consider attaching JavaSVN log file to it.
Below you will find detailed instructions on how to get JavaSVN log file.
JavaSVN is used as Eclipse plugin (works for Subclipse Extension as well)
When used within Eclipse JavaSVN logs its operation using Eclipse built-in logging facilities.
Logging is turned off by default. To enable JavaSVN logging please do the following:
- Copy
ECLIPSE_HOME/plugins/org.tmatesoft.javasvn_version/.options file to ECLIPSE_HOME directory
- Start Eclipse with -debug command line argument:
$eclipse -debug
- In Eclipse, open standard 'Error Log' view - it will contain detailed log of JavaSVN
operations that you may export to a file.
Note: OS X users may find it useful to read this article. It describes how to start Eclipse in "-debug" mode.
JavaSVN is used as library in standalone application
By default JavaSVN operations logging is switched off. To enable it,
you should replace the contents of the JAVA_HOME/jre/lib/logging.properties file
with the contents of the logging.properties.disabled file
that you can find in your "standalone" archive or in the javasvn/cli/ directory
in case you've checked out the JavaSVN sources. Or when launching the Java VM
you can use the following system property:
$java -Djava.util.logging.config.file=path/to/logging.properties.disabled
The logging.properties.disabled
file contains a system property javasvn.level used to control the log level. Up to your needs
you can specify the following values for that property:
FINE (default) - the level for not detailed logging
FINER - the level for more detailed logging
FINEST - the level for full logging
You may find a JavaSVN log file at USER_HOME/.javasvn/.javasvn.0.0.log .
Setting up your own logger
When you're using JavaSVN in your application it is not always an option to let
JavaSVN use JDK logging API. Instead you may like to have a fine-grained control over
the way JavaSVN logs its operations. The solution is to provide JavaSVN with custom logger
class that should extend SVNDebugLoggerAdapter class. The code below demonstrates
how it could be done.
....
import org.tmatesoft.svn.util.DebugLog ;
import org.tmatesoft.svn.util.SVNDebugLoggerAdapter ;
....
public static void initJavaSVNLogger() {
DebugLog.setLogger(new CustomJavaSVNLogger());
}
private static class CustomJavaSVNLogger
extends SVNDebugLoggerAdapter {
public void log(String message, byte[] data) {
...
}
public void logInfo(String message) {
...
}
public void logError(String message) {
...
}
public void logInfo(Throwable th) {
...
}
public void logError(Throwable th) {
...
}
}
....
Note: One have to set up the custom logger before any other calls are made to
JavaSVN, otherwise default logging will be used.
If you have any questions regarding JavaSVN, would like to report a bug or contribute a patch, please write to
support@tmatesoft.com
|