package org.commcare.logging;
import org.commcare.android.javarosa.AndroidLogEntry;
import org.javarosa.core.api.ILogger;
import org.javarosa.core.log.IFullLogSerializer;
import org.javarosa.core.log.StreamLogSerializer;
import org.javarosa.core.services.Logger;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
/**
* This class keeps track of logs before the app has fully initialized its storage engine
*
* @author ctsims
*/
public class PreInitLogger implements ILogger {
private final ArrayList<AndroidLogEntry> logs = new ArrayList<>();
public PreInitLogger() {
}
@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.instance() != null) {
Logger.instance().log(log.getType(), log.getMessage(), log.getTime());
}
}
}
@Override
public void clearLogs() {
}
@Override
public <T> T serializeLogs(IFullLogSerializer<T> serializer) {
return null;
}
@Override
public void serializeLogs(StreamLogSerializer serializer) throws IOException {
}
@Override
public void serializeLogs(StreamLogSerializer serializer, int limit) throws IOException {
// TODO Auto-generated method stub
}
@Override
public void panic() {
// TODO Auto-generated method stub
}
@Override
public int logSize() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void halt() {
// TODO Auto-generated method stub
}
}