Overview

Namespaces

  • Genetsis
    • core
      • activityid
      • user
  • None

Classes

  • Genetsis\ActivityApi
  • Genetsis\AutoloaderClass
  • Genetsis\Config
  • Genetsis\core\AccessToken
  • Genetsis\core\activityid\Address
  • Genetsis\core\activityid\ContextType
  • Genetsis\core\activityid\Device
  • Genetsis\core\activityid\Location
  • Genetsis\core\activityid\ObjectType
  • Genetsis\core\activityid\Position
  • Genetsis\core\activityid\QualityType
  • Genetsis\core\activityid\Request
  • Genetsis\core\activityid\Response
  • Genetsis\core\activityid\SocialNetwork
  • Genetsis\core\activityid\Verbs
  • Genetsis\core\ClientToken
  • Genetsis\core\Encryption
  • Genetsis\core\FileCache
  • Genetsis\core\LogConfig
  • Genetsis\core\LoginStatus
  • Genetsis\core\LoginStatusType
  • Genetsis\core\OAuth
  • Genetsis\core\OAuthConfig
  • Genetsis\core\OauthTemplate
  • Genetsis\core\RefreshToken
  • Genetsis\core\Request
  • Genetsis\core\StoredToken
  • Genetsis\core\Things
  • Genetsis\core\User
  • Genetsis\core\user\Brand
  • Genetsis\core\user\QueryUserData
  • Genetsis\Identity
  • Genetsis\URLBuilder
  • Genetsis\UserApi
  • Logger
  • LoggerAppender
  • LoggerAppenderConsole
  • LoggerAppenderDailyFile
  • LoggerAppenderDailyRollingFile
  • LoggerAppenderEcho
  • LoggerAppenderFile
  • LoggerAppenderFirePHP
  • LoggerAppenderMail
  • LoggerAppenderMailEvent
  • LoggerAppenderMongoDB
  • LoggerAppenderNull
  • LoggerAppenderPDO
  • LoggerAppenderPhp
  • LoggerAppenderPool
  • LoggerAppenderRollingFile
  • LoggerAppenderSocket
  • LoggerAppenderSyslog
  • LoggerAutoloader
  • LoggerConfigurable
  • LoggerConfigurationAdapterINI
  • LoggerConfigurationAdapterPHP
  • LoggerConfigurationAdapterXML
  • LoggerConfiguratorDefault
  • LoggerFilter
  • LoggerFilterDenyAll
  • LoggerFilterLevelMatch
  • LoggerFilterLevelRange
  • LoggerFilterStringMatch
  • LoggerFormattingInfo
  • LoggerHierarchy
  • LoggerLayout
  • LoggerLayoutHtml
  • LoggerLayoutPattern
  • LoggerLayoutSerialized
  • LoggerLayoutSimple
  • LoggerLayoutTTCC
  • LoggerLayoutXml
  • LoggerLevel
  • LoggerLocationInfo
  • LoggerLoggingEvent
  • LoggerMDC
  • LoggerNDC
  • LoggerOptionConverter
  • LoggerPatternConverter
  • LoggerPatternConverterClass
  • LoggerPatternConverterCookie
  • LoggerPatternConverterDate
  • LoggerPatternConverterEnvironment
  • LoggerPatternConverterFile
  • LoggerPatternConverterLevel
  • LoggerPatternConverterLine
  • LoggerPatternConverterLiteral
  • LoggerPatternConverterLocation
  • LoggerPatternConverterLogger
  • LoggerPatternConverterMDC
  • LoggerPatternConverterMessage
  • LoggerPatternConverterMethod
  • LoggerPatternConverterNDC
  • LoggerPatternConverterNewLine
  • LoggerPatternConverterProcess
  • LoggerPatternConverterRelative
  • LoggerPatternConverterRequest
  • LoggerPatternConverterServer
  • LoggerPatternConverterSession
  • LoggerPatternConverterSessionID
  • LoggerPatternConverterSuperglobal
  • LoggerPatternConverterThrowable
  • LoggerPatternParser
  • LoggerReflectionUtils
  • LoggerRendererDefault
  • LoggerRendererException
  • LoggerRendererMap
  • LoggerRoot
  • LoggerThrowableInformation
  • LoggerUtils

Interfaces

  • Genetsis\core\iTokenTypes
  • LoggerConfigurationAdapter
  • LoggerConfigurator
  • LoggerRenderer

Exceptions

  • Genetsis\core\InvalidGrantException
  • LoggerException
  • Overview
  • Namespace
  • Class
 1: <?php
 2: namespace Genetsis\core;
 3: 
 4: use Exception;
 5: 
 6: /**
 7:  * This class stores the configuration for objects for logging.
 8:  *
 9:  * @package   Genetsis
10:  * @category  Bean
11:  * @version   2.0
12:  * @access    private
13:  */
14: class LogConfig implements \LoggerConfigurator
15: {
16: 
17:     /** @var string The threshold for defining which messages should be
18:      * stored. */
19:     protected $threshold = 'OFF';
20:     /** @var string Full path to folder where logs will be saved. */
21:     protected $log_path = '';
22: 
23:     /**
24:      * @param string The threshold for defining which messages should be
25:      * stored.
26:      * @param string Full path to folder where logs will be saved.
27:      * @throws \Exception If there is an error in the process.
28:      */
29:     public function __construct($levelInfo, $logPath)
30:     {
31:         if (!is_null($levelInfo)) {
32:             $this->threshold = $levelInfo;
33:         }
34:         $this->log_path = dirname(__FILE__) . '/' . $logPath;
35: 
36:         if (!is_dir($this->log_path) || !is_writable($this->log_path)) {
37:             $auto_create = mkdir($this->log_path, 0777, true);
38:             if ($auto_create === false) {
39:                 throw new Exception("Failed creating Log  directory [$this->log_path].");
40:             }
41:         }
42:     }
43: 
44:     /**
45:      * Initialize objects for logging. We have two logs files:
46:      * - gid-last-request.log: to see logger for the last request
47:      * - gid-all-requests.log: to see all logger for all request
48:      *
49:      * @param \LoggerHierarchy Object to handle objects for logging.
50:      * @param mixed Either path to the config file or the configuration as
51:      *     an array.
52:      * @return void
53:      */
54:     public function configure(\LoggerHierarchy $hierarchy, $input = null)
55:     {
56:         //Create a logger layout
57:         $layout = new \LoggerLayoutPattern();
58:         $layout->setConversionPattern("%d{Y-m-d H:i:s}[%r] %-5level %C.%M[%L] %msg%n");
59:         $layout->activateOptions();
60: 
61:         // Create an appender which logs to file
62:         $appLog = new \LoggerAppenderRollingFile('main');
63:         $appLog->setFile($this->log_path . 'gid-all-requests.log');
64:         $appLog->setAppend(true);
65:         $appLog->setMaxFileSize('2MB');
66:         $appLog->setMaxBackupIndex(5);
67:         $appLog->setThreshold($this->threshold);
68:         $appLog->setLayout($layout);
69:         $appLog->activateOptions();
70: 
71:         //Create an appender which logs Console
72:         $appConsole = new \LoggerAppenderFile('console');
73:         $appConsole->setFile($this->log_path . 'gid-last-request.log');
74:         $appConsole->setAppend(false);
75:         $appConsole->setThreshold($this->threshold);
76:         $appConsole->setLayout($layout);
77:         $appConsole->activateOptions();
78: 
79:         // Add appenders to the root logger
80:         $root = $hierarchy->getRootLogger();
81:         $root->addAppender($appLog);
82:         $root->addAppender($appConsole);
83:     }
84: }
API documentation generated by ApiGen