/**
*
*/
package org.commcare.android.javarosa;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import org.javarosa.core.api.ILogger;
import org.javarosa.core.log.IFullLogSerializer;
import org.javarosa.core.log.StreamLogSerializer;
import org.javarosa.core.services.Logger;
/**
* This class keeps track of logs before the app has fully initialized its storage engine
*
* @author ctsims
*
*/
public class PreInitLogger implements ILogger {
private ArrayList<AndroidLogEntry> logs = new ArrayList<AndroidLogEntry>();
public PreInitLogger() {
}
/* (non-Javadoc)
* @see org.javarosa.core.api.ILogger#log(java.lang.String, java.lang.String, java.util.Date)
*/
@Override
public void log(String type, String message, Date logDate) {
logs.add(new AndroidLogEntry(type, message, logDate));
}
public void dumpToNewLogger() {
for(AndroidLogEntry log : logs) {
if(Logger._() != null) {
Logger._().log(log.getType(), log.getMessage(), log.getTime());
}
}
}
/* (non-Javadoc)
* @see org.javarosa.core.api.ILogger#clearLogs()
*/
@Override
public void clearLogs() {
}
/* (non-Javadoc)
* @see org.javarosa.core.api.ILogger#serializeLogs(org.javarosa.core.log.IFullLogSerializer)
*/
@Override
public <T> T serializeLogs(IFullLogSerializer<T> serializer) {
return null;
}
/* (non-Javadoc)
* @see org.javarosa.core.api.ILogger#serializeLogs(org.javarosa.core.log.StreamLogSerializer)
*/
@Override
public void serializeLogs(StreamLogSerializer serializer) throws IOException {
}
/* (non-Javadoc)
* @see org.javarosa.core.api.ILogger#serializeLogs(org.javarosa.core.log.StreamLogSerializer, int)
*/
@Override
public void serializeLogs(StreamLogSerializer serializer, int limit) throws IOException {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.javarosa.core.api.ILogger#panic()
*/
@Override
public void panic() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see org.javarosa.core.api.ILogger#logSize()
*/
@Override
public int logSize() {
// TODO Auto-generated method stub
return 0;
}
/* (non-Javadoc)
* @see org.javarosa.core.api.ILogger#halt()
*/
@Override
public void halt() {
// TODO Auto-generated method stub
}
}