/**
*
*/
package org.openntf.domino.logging;
import java.security.AccessControlException;
import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger;
import lotus.domino.NotesFactory;
/**
* @author Nathan T. Freeman
* @deprecated Leaving the code here in case anyone wants an example of how to do this. But the functional code has been moved to an inner
* class in the Factory called SetupJob.
*
*/
@Deprecated
public class LogSetupRunnable implements Runnable {
/**
* Constructor
*
* @since org.openntf.domino 1.0.0
*/
public LogSetupRunnable() {
}
/* (non-Javadoc)
* @see java.lang.Runnable#run()
*/
@Override
public void run() {
System.out.println("Initializing OpenNTF logging...");
try {
AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() {
@Override
public Object run() throws Exception {
String datadir = null;
try {
lotus.domino.Session session = NotesFactory.createSession();
datadir = session.getEnvironmentString("DIRECTORY", true);
session.recycle();
} catch (Throwable t) {
t.printStackTrace();
}
String pattern = datadir + "/IBM_TECHNICAL_SUPPORT/org.openntf.%u.%g.log";
Logger oodLogger = Logger.getLogger("org.openntf.domino");
oodLogger.setLevel(Level.WARNING);
DefaultFileHandler dfh = new DefaultFileHandler(pattern, 50000, 100, true);
dfh.setFormatter(new FileFormatter());
dfh.setLevel(Level.WARNING);
oodLogger.addHandler(dfh);
DefaultConsoleHandler dch = new DefaultConsoleHandler();
dch.setFormatter(new ConsoleFormatter());
dch.setLevel(Level.WARNING);
oodLogger.addHandler(dch);
OpenLogHandler olh = new OpenLogHandler();
olh.setLogDbPath("OpenLog.nsf");
olh.setLevel(Level.WARNING);
oodLogger.addHandler(olh);
LogManager manager = LogManager.getLogManager();
manager.addLogger(oodLogger);
return null;
}
});
System.out.println("Completed OpenNTF logging initialization.");
} catch (AccessControlException e) {
e.printStackTrace();
} catch (PrivilegedActionException e) {
e.printStackTrace();
}
}
}