Quiero crear un registrador personalizado para la aplicación de Android. El registro debe hacerse en un hilo separado ya que la aplicación genera mucha información. No quiero usar los registros de Android porque necesito escribir los registros en un formato específico. Múltiples hilos van a escribir en el fichero de registro al mismo tiempo, por lo que he utilizado una cola para mantener los mensajes de registroRegistro personalizado para Android Aplicación
Aquí está el código que tengo
Queue<LogEntry> logQueue = new LinkedBlockingQueue<LogEntry>();
LogWritterThread logWritterThread = new LogWritterThread();
// to queue the log messages
public void QueueLogEntry(String message)
{
LogEntry le = new LogEntry(message);
{
logQueue.add(le);
logQueue.notifyAll();
}
logWritterThread.start();
}
class LogWritterThread extends Thread
{
public void run()
{
try
{
while(true)
{
//thread waits until there are any logs to write in the queue
if(logQueue.peek() == null)
synchronized(logQueue){
logQueue.wait();
}
if(logQueue.peek() != null)
{
LogEntry logEntry;
synchronized(logQueue){
logEntry = logQueue.poll();
}
// write the message to file
}
if(Thread.interrupted())
break;
}
}
catch (InterruptedException e)
{
}
}
}
¿Hay algo de malo en esto ¿código? o una mejor manera de crear una cola de registro
Gracias, Anuj
Gracias por la ayuda .... –