= Log = [[WikiInclude(WF/tableofcontents)]] == Classe: wf_log == Esta classe pode ser utilizada para criar logs do processo. Deve ser instanciada utilizando a factory. Ela dispõe de 8 níveis e dois 2 tipos de log: === Níveis de Log === 0. Emergência: O sistema está inoperante; 1. Alerta: O sistema necessita de atenção imediata; 2. Crítico: O sistema encontra-se em situação crítica; 3. Erro: Erro no sistema; 4. Aviso: O sistema encontrou-se em situação em que poderia apresentar problemas; 5. Notificação: O sistema está em situação normal, porém em uma situação significante; 6. Informação: Informações gerais; 7. Debug: Modo de Debug. === Tipos de Log === * (file) Arquivo: Salva o log em arquivo; * (firebug) Firebug: Mostra o log no firebug; == Configurações == Na página de administração do processo pode-se configurar o nível de log. Os níveis de log serão mostrados conforme a configuração especificada, sendo que os logs de maior número fazem com que os logs de menor número sejam lançados. '''Exemplo:''' Para uma configuração "Informação": {{{ $log->emerg('emergencia...'); $log->info('informação...'); $log->debug('debug...'); }}} No caso acima, somente os logs info e emerg serão lançados. O log de debug não será, pois é maior que o log configurado. Os tipos de log permitidos no frontend somente poderão ser configurados por um administrador do módulo, já que envolve questões de segurança. == Obtendo um objeto de log == Para obter um objeto de log deve-se utilizar a factory, passando como primeiro parâmetro a string 'wf_log': {{{ $log = $this->factory->getInstance('wf_log'); }}} Para obter um objeto de log com um tipo específico que não seja o padrão 'file', basta passar como segundo parâmetro o nome do tipo de log desejado: {{{ $log = $this->factory->getInstance('wf_log', 'firebug'); }}} Para obter um objeto de log composto, basta passar como segundo parâmetro um array com os tipos de log desejados: {{{ $log = $this->factory->getInstance('wf_log', array('file', 'firebug')); }}} == Métodos == === addLogType === '''Descrição:''' A classe wf_log suporta que sejam utilizados mais de um tipo de log por vez. Este método adiciona um tipo de log à composição de logs. '''Parâmetros:''' $logType: nome do tipo de log. '''Retorno:''' true para o caso do tipo de log ter sido adicionado com sucesso, false caso contrário. '''Exemplo de Uso:''' {{{ $log = $this->factory->getInstance('wf_log'); // neste caso o objeto será criado somente com o tipo padrão: file $log->addLogType('firebug'); }}} ---- === removeLogType === '''Descrição:''' Este método remove um tipo de log à composição de logs. '''Parâmetros:''' $logType: nome do tipo de log. '''Retorno:''' o objeto de log removido da composição para o caso do método ter sido executado com sucesso. null caso contrário '''Exemplo de Uso:''' {{{ $log = $this->factory->getInstance('wf_log'); $log->addLogType('firebug'); $log->removeLogType('file'); }}} ---- === emerg === '''Descrição:''' Lança um log de nível emergência '''Parâmetros:''' $message: Mensagem a ser lançada '''Retorno:''' true caso a mensagem tenha sido lançada com sucesso, false caso contrário. '''Exemplo de Uso:''' {{{ $log = $this->factory->getInstance('wf_log'); $log->emerg('emergência...'); }}} ---- === alert === '''Descrição:''' Lança um log de nível alerta '''Parâmetros:''' $message: Mensagem a ser lançada '''Retorno:''' true caso a mensagem tenha sido lançada com sucesso, false caso contrário. '''Exemplo de Uso:''' {{{ $log = $this->factory->getInstance('wf_log'); $log->alert('alerta...'); }}} ---- === crit === '''Descrição:''' Lança um log de nível crítico '''Parâmetros:''' $message: Mensagem a ser lançada '''Retorno:''' true caso a mensagem tenha sido lançada com sucesso, false caso contrário. '''Exemplo de Uso:''' {{{ $log = $this->factory->getInstance('wf_log'); $log->crit('crítico...'); }}} ---- === error === '''Descrição:''' Lança um log de nível erro '''Parâmetros:''' $message: Mensagem a ser lançada '''Retorno:''' true caso a mensagem tenha sido lançada com sucesso, false caso contrário. '''Exemplo de Uso:''' {{{ $log = $this->factory->getInstance('wf_log'); $log->error('erro...'); }}} ---- === warning === '''Descrição:''' Lança um log de nível aviso '''Parâmetros:''' $message: Mensagem a ser lançada '''Retorno:''' true caso a mensagem tenha sido lançada com sucesso, false caso contrário. '''Exemplo de Uso:''' {{{ $log = $this->factory->getInstance('wf_log'); $log->warning('aviso...'); }}} ---- === notice === '''Descrição:''' Lança um log de nível notificação '''Parâmetros:''' $message: Mensagem a ser lançada '''Retorno:''' true caso a mensagem tenha sido lançada com sucesso, false caso contrário. '''Exemplo de Uso:''' {{{ $log = $this->factory->getInstance('wf_log'); $log->notice('notificação...'); }}} ---- === lnfo === '''Descrição:''' Lança um log de nível informação '''Parâmetros:''' $message: Mensagem a ser lançada '''Retorno:''' true caso a mensagem tenha sido lançada com sucesso, false caso contrário. '''Exemplo de Uso:''' {{{ $log = $this->factory->getInstance('wf_log'); $log->info('informação...'); }}} ---- === debug === '''Descrição:''' Lança um log de nível debug '''Parâmetros:''' $message: Mensagem a ser lançada '''Retorno:''' true caso a mensagem tenha sido lançada com sucesso, false caso contrário. '''Exemplo de Uso:''' {{{ $log = $this->factory->getInstance('wf_log'); $log->debug('debug...'); }}} ----