private HOWLLog getLog()

in tx-control-services/tx-control-service-xa/src/main/java/org/apache/aries/tx/control/service/xa/impl/TransactionControlImpl.java [154:198]


	private HOWLLog getLog(BundleContext ctx) throws Exception {
		Object recovery = config.getOrDefault("recovery.log.enabled", 
				Boolean.parseBoolean(String.valueOf(ctx.getProperty(
						"org.apache.aries.tx.control.service.xa.recovery.log.enabled"))));
		
		if (recovery instanceof Boolean ? (Boolean) recovery : Boolean.valueOf(recovery.toString())) {
            String logFileExt = "log";
            String logFileName = "transaction";
            
            String logFileDir;

            Object o = config.get("recovery.log.dir");
            if(o == null) {
                logFileDir = ctx.getDataFile("recoveryLog").getAbsolutePath();
            } else {
                logFileDir = o.toString();
            }
            
            File f = new File(logFileDir);
            if(f.exists() && !f.isDirectory()) {
            	throw new IllegalArgumentException("The recovery log directory " + logFileDir + 
            			" is not a directory.");
            }
            
            HOWLLog log = new HOWLLog("org.objectweb.howl.log.BlockLogBuffer",
                                             4,
                                             true,
                                             true,
                                             50,
                                             logFileDir,
                                             logFileExt,
                                             logFileName,
                                             -1,
                                             0,
                                             2,
                                             4,
                                             -1,
                                             true,
                                             xidFactory,
                                             null);
			return log;
		}
		// null means a non-recoverable log
		return null;
	}