Revision: f412f880e137 Branch: default Author: Michael Whapples Date: Tue Jul 15 13:30:29 2014 UTCLog: Fixed log handling so that liblouisutdml logging goes through BrailleBlaster's logger.
http://code.google.com/p/brailleblaster/source/detail?r=f412f880e137 Added: /src/main/org/brailleblaster/louisutdml/LogHandler.java Modified: /src/main/org/brailleblaster/BBIni.java ======================================= --- /dev/null+++ /src/main/org/brailleblaster/louisutdml/LogHandler.java Tue Jul 15 13:30:29 2014 UTC
@@ -0,0 +1,33 @@ +package org.brailleblaster.louisutdml; + +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.HashMap; +import java.util.Map; + +import org.liblouis.LogCallback; +import org.liblouis.LogLevel; + +public class LogHandler implements LogCallback { ++ private final static Map<Integer, Level> LEVEL_MAPPINGS = new HashMap<Integer, Level>();
+ static { + LEVEL_MAPPINGS.put(LogLevel.FATAL, Level.SEVERE); + LEVEL_MAPPINGS.put(LogLevel.ERROR, Level.SEVERE); + LEVEL_MAPPINGS.put(LogLevel.WARNING, Level.WARNING); + LEVEL_MAPPINGS.put(LogLevel.INFO, Level.INFO); + LEVEL_MAPPINGS.put(LogLevel.DEBUG, Level.FINE); + LEVEL_MAPPINGS.put(LogLevel.OFF, Level.OFF); + LEVEL_MAPPINGS.put(LogLevel.ALL, Level.ALL); + } + private Logger logger; + public LogHandler(Logger logger) { + this.logger = logger; + } + @Override + public void logMessage(int level, String message) { + Level javaLogLevel = LEVEL_MAPPINGS.get(level); + this.logger.log(javaLogLevel, message); + } + +} ======================================= --- /src/main/org/brailleblaster/BBIni.java Fri Jun 20 19:05:47 2014 UTC +++ /src/main/org/brailleblaster/BBIni.java Tue Jul 15 13:30:29 2014 UTC @@ -49,6 +49,7 @@ import org.brailleblaster.util.PropertyFileManager; import org.eclipse.swt.SWT; import org.liblouis.LibLouisUTDML; +import org.liblouis.LogLevel; /** @@ -256,6 +257,8 @@ } try { LibLouisUTDML.loadLibrary(nativeLibraryPath, nativeLibrarySuffix); + // LibLouisUTDML.getInstance().setLogLevel(LogLevel.ERROR);+ LibLouisUTDML.getInstance().registerLogCallback(new org.brailleblaster.louisutdml.LogHandler(logger)); LibLouisUTDML.initialize(programDataPath, tempFilesPath, "liblouisutdml.log");
hLiblouisutdml = true; }