De forma predeterminada, la clase de registro en Android escribe registros en la consola (logcat). ¿Hay alguna manera simple de escribir registros, por ej. en algún archivo?Registro de escritura de Android en el archivo
Respuesta
redirección de todos los mensajes de error al archivo usando FileInputStream
¿Cómo iba a hacer esto? ¿Puedes proporcionar algunos enlaces o código de muestra? – Gray
Si esto es sólo para fines dev, puede invocar Logcat en el dispositivo y redirigir su salida en un archivo. Por ejemplo: adb shell logcat > log.txt
.
Como alternativa, puede tratar de redirigir stdout
y stderr
a un archivo, iirc esto funcionará pero no tengo mi teléfono conmigo para probarlo.
Sin embargo, sería más fácil simplemente hacer su propia clase de registro básico que hace lo mismo que la integrada pero también guarda en un archivo.
En Eclipse ddms hay una opción para guardar los registros en el archivo.
Clase simple Log
(solo para fines de desarrollo/prueba) similar a android.util.Log
, pero logs a sdcard. La única modificación al código existente será cambiar el import android.util.Log
al import com.example.Log
. También agregue el permiso como <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
package com.example.logger;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.os.Environment;
public class Log {
private static final String NEW_LINE = System.getProperty("line.separator") ;
public static boolean mLogcatAppender = true;
final static File mLogFile;
static {
mLogFile = new File(Environment.getExternalStorageDirectory(), "logs.log");
if (!mLogFile.exists()) {
try {
mLogFile.createNewFile();
}
catch (final IOException e) {
e.printStackTrace();
}
}
logDeviceInfo();
}
public static void i(String TAG, String message){
appendLog(TAG + " : " + message);
if (mLogcatAppender) {
android.util.Log.i(TAG, message);
}
}
public static void d(String TAG, String message){
appendLog(TAG + " : " + message);
if (mLogcatAppender) {
android.util.Log.d(TAG, message);
}
}
public static void e(String TAG, String message){
appendLog(TAG + " : " + message);
if (mLogcatAppender) {
android.util.Log.e(TAG, message);
}
}
public static void v(String TAG, String message){
appendLog(TAG + " : " + message);
if (mLogcatAppender) {
android.util.Log.v(TAG, message);
}
}
public static void w(String TAG, String message) {
appendLog(TAG + " : " + message);
if (mLogcatAppender) {
android.util.Log.w(TAG, message);
}
}
private static synchronized void appendLog(String text) {
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
try {
final FileWriter fileOut = new FileWriter(mLogFile, true);
fileOut.append(sdf.format(new Date()) + " : " + text + NEW_LINE);
fileOut.close();
}
catch (final IOException e) {
e.printStackTrace();
}
}
private static void logDeviceInfo() {
appendLog("Model : " + android.os.Build.MODEL);
appendLog("Brand : " + android.os.Build.BRAND);
appendLog("Product : " + android.os.Build.PRODUCT);
appendLog("Device : " + android.os.Build.DEVICE);
appendLog("Codename : " + android.os.Build.VERSION.CODENAME);
appendLog("Release : " + android.os.Build.VERSION.RELEASE);
}
}
amigo útil ..! –
- 1. escritura de permisos de archivo en Android
- 2. escritura en Android
- 3. Archivo de escritura Log4Net de muchos procesos
- 4. ¿Cómo obtengo el archivo de registro de un dispositivo Android?
- 5. escritura y el archivo de lectura en PhoneGap
- 6. Log4j vs Logback: escritura concurrente en el mismo registro?
- 7. archivo de escritura en USB con el pitón en Linux
- 8. ¿Qué escribir en el archivo de registro?
- 9. ¿Qué registrarías en un registro de escritura anticipada?
- 10. mejorando la velocidad de escritura en archivo
- 11. Android niveles de registro
- 12. Archivo simple de lectura/escritura .dat en Delphi
- 13. de lectura y escritura en el mismo archivo csv
- 14. Node.js Base64 Decodificación de imagen y escritura en el archivo
- 15. puntero de escritura para el archivo en C
- 16. Dos procesos de lectura/escritura en el mismo archivo Python
- 17. log4j detuvo el registro en el archivo,
- 18. Borrar el archivo de registro de git
- 19. Puede un servicio de escritura al Registro [HKLM]
- 20. WGET sin el archivo de registro
- 21. Crear y guardar archivo de registro en el dispositivo en Android
- 22. NLog no crea el archivo de registro
- 23. C# Archivo de escritura Asp.net al cliente
- 24. escritura números fraccionarios en Java o Android
- 25. fusionar programáticamente el archivo .reg en el registro de win32
- 26. Java: archivo CSV de lectura y escritura
- 27. Existe el registro de Android() en la base de datos?
- 28. ¿La escritura de logs disminuye el rendimiento de las aplicaciones de Android?
- 29. escritura utf16 a archivo en modo binario
- 30. Archivo de registro de salida de registro de Git
si se toma un enfoque ingenuo de sólo abrir un identificador de archivo y escribir allí - que va a escribir al sistema de archivos en el dispositivo Android, mientras que lo que necesita es probablemente un sistema de archivos en su máquina de desarrollo? – justadreamer
¿Desea exportar mensajes de Logcat a un archivo o simplemente escribir mensajes de registro en archivos? – SERPRO
Quiero exportar mensajes de logcat a un archivo. –