package com.camptocamp.owsproxy.parameters;
import java.io.FileNotFoundException;
import java.util.logging.Handler;
import java.util.logging.Logger;
import com.camptocamp.owsproxy.OWSHeadlessClient;
import com.camptocamp.owsproxy.Translations;
import com.camptocamp.owsproxy.logging.OWSLogHandler;
import com.camptocamp.owsproxy.logging.OWSLogger;
/**
* Parameter for configuring the ProxyHost URL
*
* @author jeichar
*/
public class DevLogFileParameter extends Parameter {
public DevLogFileParameter() {
super("-devLogFile"); //$NON-NLS-1$
}
@Override
public boolean performAction(String nextParam, OWSHeadlessClient client) {
try {
lookupOWSLogHandler().setDevLogFile(nextParam);
} catch (FileNotFoundException e) {
throw new IllegalArgumentException(Translations.getString("cantCreateFile", nextParam)); //$NON-NLS-1$
}
return true;
}
/**
* Looks for the OWSLogHandler that is being used by the loggers or returns null if non are found
*/
public static OWSLogHandler lookupOWSLogHandler() {
Logger logger = OWSLogger.DEV.logger();
while (logger != null) {
Handler[] handlers = logger.getHandlers();
for (Handler handler : handlers) {
if (handler instanceof OWSLogHandler) {
return (OWSLogHandler) handler;
}
}
logger = logger.getParent();
}
return null;
}
}