Andrews escreve e gerenciamento de arquivos de log

No desenvolvimento do projeto, muitas vezes você precisa para depurar e investigação difícil pelo log. O log é um desenvolvimento de aplicativos on-line persistente realmente necessário. Log Android classe em si, é a saída de log para o console, e não pode saída para um arquivo. Este artigo descreve um simples e LogUtils práticas de uso e implementação da lógica podem ser gravados em um log Entrar, dar-lhe uma referência. Fonte aqui: log para arquivo .
LogUtils usando as necessidades de código de inicialização da classe a ser adicionado no onCreate aplicação da seguinte forma:

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 e android.utils.Log mesmo nome método e parâmetros são uma correspondência. funcionalidade aumentada é, após a saída para o console, mas também saída para um arquivo de log e o número de gestão de arquivo de log. O número eo tamanho dos arquivos de log individuais são arquivos de log podem ser fornecidas no código.

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

Quando preenchido com um arquivo, criar um novo arquivo de log, se o número de arquivos exceder o número máximo, de excluir os arquivos de log mais antigos.
A principal lógica dos seguintes métodos:

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();
    }
}

Em primeiro lugar, determinar se não há nenhum arquivo de log, se for diretamente criar um novo arquivo de log, se o arquivo de log já existe, determinar se o número atual de arquivos de log excede o número máximo, se excedido, exclua o arquivo de log mais antigo e, finalmente, o julgamento Se o arquivo mais recente é completo, preenchido diretamente escrito no documento, cheio, então você criar um novo arquivo.



Autor: InnerNight
link: https: //www.jianshu.com/p/548c7b18397e
Fonte: Jane livro
Jane livro de autor reservados pelos autores, são reproduzidas em qualquer forma, por favor, entre em contato com o autor para obter autorização e indicar a fonte.

Publicado 442 artigos originais · Louvor obteve 77 · vista 1 milhão +

Acho que você gosta

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