Beispiel #1
0
 /**
  *
  * @param string $psQuery
  *        	- Termo de busca utilizado pelo usuário
  * @param int $pnResults
  *        	- Número de resultados retornados com o termo
  */
 public static function log($psQuery, $pnResults)
 {
     $laConfig = Config::getAppOptions();
     $laLog = $laConfig['log']['log']['search'];
     $laDb = $laConfig['db'][APP_ENV];
     if (Util::toBoolean($laLog['enable'])) {
         if ($laLog['output'] == "DB") {
             $loDb = new Adapter($laDb);
             $laColumnMap = array('timestamp' => 'dtInsert', 'priority' => 'stPriority', 'message' => 'stQuery', 'extra' => array('numResults' => 'numResults'));
             $laData = array('numResults' => $pnResults);
             $loWriter = new Writer\Db($loDb, $laLog['table'], $laColumnMap);
             $loLogger = new Logger();
             $loLogger->addWriter($loWriter);
             $loLogger->info($psQuery, $laData);
         } else {
             $laParamns['userId'] = null;
             $laParamns['query'] = $psQuery;
             $laParamns['results'] = $pnResults;
             Event::log($laParamns, Event::INFO, $laLog['fileName'], "STREAM", true);
         }
     }
 }
Beispiel #2
0
 /**
  * Appends the writers to the given logger as configured.
  *
  * @param \TYPO3\CMS\Core\Log\Logger $logger Logger to configure
  * @return void
  */
 protected function setWritersForLogger(Logger $logger)
 {
     $configuration = $this->getConfigurationForLogger(self::CONFIGURATION_TYPE_WRITER, $logger->getName());
     foreach ($configuration as $severityLevel => $writer) {
         foreach ($writer as $logWriterClassName => $logWriterOptions) {
             /** @var $logWriter \TYPO3\CMS\Core\Log\Writer\WriterInterface */
             $logWriter = NULL;
             try {
                 $logWriter = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance($logWriterClassName, $logWriterOptions);
                 $logger->addWriter($severityLevel, $logWriter);
             } catch (\Psr\Log\InvalidArgumentException $e) {
                 $logger->warning('Instantiation of LogWriter "' . $logWriterClassName . '" failed for logger ' . $logger->getName() . ' (' . $e->getMessage() . ')');
             } catch (\TYPO3\CMS\Core\Log\Exception\InvalidLogWriterConfigurationException $e) {
                 $logger->warning('Instantiation of LogWriter "' . $logWriterClassName . '" failed for logger ' . $logger->getName() . ' (' . $e->getMessage() . ')');
             }
         }
     }
 }
Beispiel #3
0
 /**
  * event: gera log de sistema, gravando em banco, arquivo, firebug ou exibindo na tela
  *
  * @param string|array $pmParam	- array __FILE__,__METHOD__,__LINE__ ...
  * @param int $pnPriority - EMERG = 0; ALERT = 1; CRIT = 2; ERR = 3; WARN = 4; NOTICE =	5; INFO = 6; DEBUG = 7;
  * @param string $psOutput - força o nome da tabela ou posfixo do arquivo a ser gravado
  * @param string $psType - força o tipo de saída: DB ou STREAM
  */
 public static function log($pmParam, $pnPriority = 7, $psOutput = null, $psType = null, $pbSave = false)
 {
     $laConfig = Config::getAppOptions();
     $laLog = $laConfig['log']['log']['events'];
     $laDb = $laConfig['db'][APP_ENV];
     $lsLogDir = $laConfig['log']['log']['logDir'];
     $lsTable = $laLog['table'];
     $lsFilePosfix = "_" . $laLog['fileName'];
     $lsLine = "";
     $lsId = null;
     if (Util::toBoolean($laLog['enable']) || $pbSave) {
         $lsIP = $_SERVER['REMOTE_ADDR'];
         $lsType = $laLog['output'];
         if ($psType != null) {
             $lsType = $psType;
         }
         if (is_array($pmParam)) {
             foreach ($pmParam as $lsKey => $lsItem) {
                 if (strtolower($lsKey) == 'userid') {
                     $lsId = $lsItem;
                     continue;
                 }
             }
         }
         $laData = array();
         switch ($lsType) {
             case "DB":
                 if ($psOutput != null) {
                     $lsTable = $psOutput;
                 }
                 $loDb = new Adapter($laDb);
                 $lsLine = Json::encode($pmParam);
                 $lsServer = Json::encode($_SERVER);
                 $laExtra = array('stIP' => 'stIP', 'txtServer' => 'txtServer');
                 $laData = array('stIP' => $lsIP, 'txtServer' => $lsServer);
                 if ($lsId !== null) {
                     $laExtra['User_id'] = 'User_id';
                     $laData['User_id'] = $lsId;
                 }
                 $laColumnMap = array('timestamp' => 'dtInsert', 'priority' => 'stPriority', 'message' => 'stMsg', 'extra' => $laExtra);
                 $loWriter = new Writer\Db($loDb, $lsTable, $laColumnMap);
                 break;
             case "STREAM":
                 $lsLine .= "\t" . $lsIP;
                 if (is_array($pmParam)) {
                     foreach ($pmParam as $lsKey => $lsItem) {
                         $lsLine .= "\t" . $lsItem;
                         if (strtolower($lsKey) == 'userid') {
                             $lsId = $lsItem;
                         }
                     }
                 } else {
                     $lsLine .= "\t" . $pmParam;
                 }
                 if ($psOutput != null) {
                     $lsFilePosfix = "_" . $psOutput;
                 }
                 if (file_exists($lsLogDir)) {
                     $loWriter = new Writer\Stream($lsLogDir . DS . date("Y-m-d") . $lsFilePosfix . ".log");
                 }
                 break;
         }
         $loLogger = new Logger();
         $loLogger->addWriter($loWriter);
         $loLogger->log($pnPriority, $lsLine, $laData);
     }
 }
Beispiel #4
0
 /**
  *
  * @param string $psType        	
  * @param string $psUrl        	
  * @param string $psTable        	
  * @param int $pnId        	
  */
 public static function log($psType, $psUrl, $psTable = null, $pnId = null)
 {
     $laConfig = Config::getAppOptions();
     $laLog = $laConfig['log']['log'][$psType];
     $laDb = $laConfig['db'][APP_ENV];
     if (Util::toBoolean($laLog['enable'])) {
         if ($laLog['output'] == "DB") {
             $loDb = new Adapter($laDb);
             $laColumnMap = array('timestamp' => 'dtInsert', 'priority' => 'stPriority', 'message' => 'stUrl', 'extra' => array('numId' => 'numId', 'stTable' => 'stTable'));
             $laData = array('numId' => $pnId, 'stTable' => $psTable);
             $loWriter = new Writer\Db($loDb, $laLog['table'], $laColumnMap);
             $loLogger = new Logger();
             $loLogger->addWriter($loWriter);
             $loLogger->info($psUrl, $laData);
         } else {
             $laParamns['userId'] = null;
             $laParamns['table'] = $psTable;
             $laParamns['id'] = $pnId;
             $laParamns['url'] = $psUrl;
             Event::log($laParamns, Event::INFO, $laLog['fileName'], "STREAM", true);
         }
     }
 }
Beispiel #5
0
 /**
  */
 public static function log($poCredentials, $psMsg = "OK")
 {
     $laConfig = Config::getAppOptions();
     $laLog = $laConfig['log']['log']['access'];
     $laDb = $laConfig['db'][APP_ENV];
     $lnId = null;
     $lsUsername = null;
     $lnGroupId = null;
     if (is_object($poCredentials)) {
         $lnId = $poCredentials->getId();
         $lsUsername = $poCredentials->getUsername();
         $lnGroupId = $poCredentials->getUserGroupId();
     } else {
         $lsUsername = $poCredentials;
     }
     $lsIp = $_SERVER['REMOTE_ADDR'];
     $lsSession = session_id();
     if (Util::toBoolean($laLog['enable'])) {
         if ($laLog['output'] == "DB") {
             $loDb = new Adapter($laDb);
             $laServer = $_SERVER;
             $laServer['ACCESS_MSG'] = $psMsg;
             $lsServer = Json::encode($laServer);
             $laExtra = array('stSession' => 'stSession', 'stIP' => 'stIP', 'txtServer' => 'txtServer');
             $laData = array('stSession' => $lsSession, 'stIP' => $lsIp, 'txtServer' => $lsServer);
             if ($lnId !== null) {
                 $laExtra['User_id'] = 'User_id';
                 $laData['User_id'] = $lnId;
             }
             $laColumnMap = array('timestamp' => 'dtInsert', 'priority' => 'stPriority', 'message' => 'txtCredentials', 'extra' => $laExtra);
             $laCredential = array('user' => $lsUsername, 'group' => $lnGroupId);
             $lsCredential = Json::encode($laCredential);
             $loWriter = new Writer\Db($loDb, $laLog['table'], $laColumnMap);
             $loLogger = new Logger();
             $loLogger->addWriter($loWriter);
             $loLogger->info($lsCredential, $laData);
         } else {
             $laMessage = array('stIP' => $lsIp, 'stSession' => $lsSession, 'userId' => $lnId, 'user' => $lsUsername, 'group' => $lnGroupId);
             Event::log($laMessage, Event::INFO, $laLog['fileName'], "STREAM", true);
         }
     }
 }