Andrews escribe y gestión del archivo de registro

En el desarrollo del proyecto, a menudo necesita depurar y difícil investigación por el registro. El registro es un persistente desarrollo de aplicaciones en línea realmente necesario. Acceder Android propia clase, es la salida del registro a la consola, y no puede dar salida a un archivo. En este artículo se describe una forma sencilla y práctica LogUtils el uso y la aplicación de la lógica se pueden escribir en un registro el registro, es dar una referencia. Fuente aquí: ingrese a archivo .
LogUtils utilizando las necesidades del código de inicialización de la clase que se añaden en el onCreate Aplicación como sigue:

private void initLog() {
    LogUtils.setLogDir(YiqiConfig.getLogFolderPath());
    if (EnvironmentUtils.getVersionName().toLowerCase().contains("beta")) {
        LogUtils.setLogLevel(LogUtils.LogLevel.DEBUG);
    } else {
        // 为了保护隐私和保证log的整洁,正式版上只打比warn高的log,即warn, error和assert
        LogUtils.setLogLevel(LogUtils.LogLevel.WARN);
    }
}

Uso y android.utils.Log mismo nombre de método y los parámetros son una correspondencia. El aumento de la funcionalidad es, después de la salida de la consola, sino también la salida a un archivo de registro y el número de gestión de archivo de registro. El número y tamaño de los archivos de registro individuales son archivos de registro se pueden proporcionar en el código.

private static final int LOG_FILES_MAX_NUM = 5; //文件最多有5个
private static final int LOG_FILE_MAX_SIZE = 1024 * 1024; //文件最大1MB

Cuando se llena con un archivo, crear un nuevo archivo de registro, si el número de archivos supera el número máximo, se eliminan los archivos de registro más antiguos.
La lógica principal de los métodos siguientes:

private File getNewLogFile() {
    File dir = new File(mLogFileDir);
    File[] files = dir.listFiles(fileFilter);
    if (files == null || files.length == 0) {
        // 创建新文件
        return createNewLogFile();
    }
    List<File> sortedFiles = sortFiles(files);
    if (files.length > LOG_FILES_MAX_NUM) {
        // 删掉最老的文件
        FileUtils.delete(sortedFiles.get(0));
    }
    // 取最新的文件,看写没写满
    File lastLogFile = sortedFiles.get(sortedFiles.size() - 1);
    if (lastLogFile.length() < LOG_FILE_MAX_SIZE) {
        return lastLogFile;
    } else {
        // 创建新文件
        return createNewLogFile();
    }
}

En primer lugar, determinar si no hay ningún archivo de registro, si se crea directamente un nuevo archivo de registro, si el archivo de registro ya existe, determinar si el número actual de archivos de registro excede el número máximo, si se excede, a continuación, elimine el archivo de registro más antiguo, y en definitiva el juicio si el último archivo está lleno, no cubiertos directamente por escrito en el documento, lleno, entonces se crea un nuevo archivo.



Autor: InnerNight
enlace: https: //www.jianshu.com/p/548c7b18397e
Fuente: Jane libro de
Jane libro de autor reservados por los autores, se reproducen en cualquier forma, por favor, póngase en contacto con el autor para obtener la autorización e indique la fuente.

Publicados 442 artículos originales · ganado elogios 77 · vistas 1 millón +

Supongo que te gusta

Origin blog.csdn.net/rnZuoZuo/article/details/95738679
Recomendado
Clasificación