LogRotation.h File Reference

#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 Documentation

#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.

See also:
SearchRecord, CLogRotation::SearchLogFiles

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.

See also:
LogLine, CLogRotation::NewLogLine

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.

See also:
SearchRecord, CLogRotation::SearchLogFiles

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.

See also:
SearchRecord, CLogRotation::SearchLogFiles

Definition at line 39 of file LogRotation.h.


Typedef Documentation

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.

Generated on Wed Jul 4 16:03:29 2012 for RIO by  doxygen 1.6.3