#include <time.h>
#include <pthread.h>
#include <list>
#include <queue>
#include <vector>
#include "RioInterfaceTypes.h"
#include "RioError.h"
Go to the source code of this file.
Data Structures | |
struct | LogLine |
Estrutura usada para inserir uma linha de log na fila do log. More... | |
struct | RequestRecord |
Estrutura usada para entrar solicitacoes (escritas de linhas de log no arquivo de logs e buscas nos arquivos de log) para a classe. More... | |
struct | SearchRecord |
Estrutura usada para fazer uma busca nos arquivos de log. More... | |
struct | LogFileRecord |
Estrutura que armazena os nomes dos arquivos de log e os tempos inicial e final armazenados neste nome. More... | |
class | CLogRotation |
Classe que implementa o controle da geracao de um conjunto de logs. More... | |
Defines | |
#define | MAXSIZESUFFIXFILELOG 25 |
Constante necessaria para completar o prefixo dado na funcao Initialize da classe com o sufixo ".[tempo_inicial]-[tempo_final].gz", sendo que [tempo_inicial] e [tempo_final] sao inteiros do tipo unsigned int e possuem, no formato ASCII, ate 10 digitos. | |
#define | BUFFERCOMPACSIZE 1024 |
Tamanho do buffer usado ao compactar o arquivo atual com os logs. | |
#define | MAXLOGLINESIZE 1400 |
Tamanho maximo da linha com os logs. | |
#define | MAXTIMESTRSIZE 12 |
Tamanho maximo da string de tempo mais o espaco entre ela e o log mais o "\n" ao final do log. | |
#define | SEARCH_OK 0 |
Codigo passado a callback quando uma busca dentro dos arquivos de log teve sucesso. | |
#define | SEARCH_FAILED 1 |
Codigo passado a callback quando uma busca dentro dos arquivos de log fracassou. | |
#define | INSERT_LINE 0 |
Tipo da solicitacao para inserir uma linha no arquivo de log. | |
#define | EXECUTE_SEARCH 1 |
Tipo da solicitacao para executar uma busca nos arquivos de log. | |
#define | PERCENTMAXCOMBINEDSIZE 0.9 |
Porcentagem usada para habilitar o envio de avisos (usando a RioErr) informando que o espaco disponivel para os logs esta acabando. | |
Typedefs | |
typedef void(* | callback_log )(char *SearchFileName, time_t StartTime, time_t EndTime, int SearchResult, void *callbackparam) |
Novo tipo para definir a funcao de callback, que sera chamada quando uma solicitacao de busca for terminada. | |
typedef queue< RequestRecord *, list< RequestRecord * > > | RequestQueue |
Novo tipo que define a fila com as solicitacoes de entrada (logs ou buscas) para a classe LogRotation. | |
typedef queue< LogLine *, list < LogLine * > > | LogLineQueue |
Novo tipo que define a fila com as solicitacoes de impressao no log atual. | |
typedef queue< SearchRecord *, list< SearchRecord * > > | SearchQueue |
Novo tipo que define a fila com as solicitacoes de busca nos logs. | |
typedef vector< LogFileRecord * > | FileLogs |
Novo tipo que define o vetor com as informacoes dos arquivos de log. |
#define BUFFERCOMPACSIZE 1024 |
Tamanho do buffer usado ao compactar o arquivo atual com os logs.
Definition at line 24 of file LogRotation.h.
#define EXECUTE_SEARCH 1 |
Tipo da solicitacao para executar uma busca nos arquivos de log.
Definition at line 54 of file LogRotation.h.
#define INSERT_LINE 0 |
Tipo da solicitacao para inserir uma linha no arquivo de log.
Este arquivo sera o nao compactado.
Definition at line 51 of file LogRotation.h.
#define MAXLOGLINESIZE 1400 |
Tamanho maximo da linha com os logs.
Definition at line 27 of file LogRotation.h.
#define MAXSIZESUFFIXFILELOG 25 |
Constante necessaria para completar o prefixo dado na funcao Initialize da classe com o sufixo ".[tempo_inicial]-[tempo_final].gz", sendo que [tempo_inicial] e [tempo_final] sao inteiros do tipo unsigned int e possuem, no formato ASCII, ate 10 digitos.
Definition at line 21 of file LogRotation.h.
#define MAXTIMESTRSIZE 12 |
Tamanho maximo da string de tempo mais o espaco entre ela e o log mais o "\n" ao final do log.
Definition at line 32 of file LogRotation.h.
#define PERCENTMAXCOMBINEDSIZE 0.9 |
Porcentagem usada para habilitar o envio de avisos (usando a RioErr) informando que o espaco disponivel para os logs esta acabando.
Um aviso sera enviado quando os tamanhos combinados passarem do tamanho maximo dos arquivos combinados vezes o valor desta constante (ou seja, se o valor da constante for 90, que e o valor default, avisos serao enviados quando o tamanho combinado passar de 90% do tamanho maximo combinado dos logs).
Definition at line 64 of file LogRotation.h.
#define SEARCH_FAILED 1 |
Codigo passado a callback quando uma busca dentro dos arquivos de log fracassou.
Isso ocorrera se nao existir nenhum log dentro da faixa de tempo definida pela busca.
Definition at line 45 of file LogRotation.h.
#define SEARCH_OK 0 |
Codigo passado a callback quando uma busca dentro dos arquivos de log teve sucesso.
Isso ocorrera se existirem logs cujos tempos de geracao estao dentro da faixa de tempo definida pela busca.
Definition at line 39 of file LogRotation.h.
typedef void(* callback_log)(char *SearchFileName, time_t StartTime, time_t EndTime, int SearchResult, void *callbackparam) |
Novo tipo para definir a funcao de callback, que sera chamada quando uma solicitacao de busca for terminada.
Definition at line 82 of file LogRotation.h.
typedef vector< LogFileRecord * > FileLogs |
Novo tipo que define o vetor com as informacoes dos arquivos de log.
Definition at line 148 of file LogRotation.h.
typedef queue< LogLine *, list< LogLine * > > LogLineQueue |
Novo tipo que define a fila com as solicitacoes de impressao no log atual.
Definition at line 140 of file LogRotation.h.
typedef queue< RequestRecord *, list< RequestRecord * > > RequestQueue |
Novo tipo que define a fila com as solicitacoes de entrada (logs ou buscas) para a classe LogRotation.
Definition at line 135 of file LogRotation.h.
typedef queue< SearchRecord *, list< SearchRecord * > > SearchQueue |
Novo tipo que define a fila com as solicitacoes de busca nos logs.
Definition at line 144 of file LogRotation.h.