Skip to content
Snippets Groups Projects
Logger.php 4.46 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?php namespace Config;
    
    use CodeIgniter\Config\BaseConfig;
    
    class Logger extends BaseConfig
    {
    	/*
    	|--------------------------------------------------------------------------
    	| Error Logging Threshold
    	|--------------------------------------------------------------------------
    	|
    	| You can enable error logging by setting a threshold over zero. The
    	| threshold determines what gets logged. Any values below or equal to the
    	| threshold will be logged. Threshold options are:
    	|
    	|	0 = Disables logging, Error logging TURNED OFF
    	|	1 = Emergency Messages  - System is unusable
    	|	2 = Alert Messages      - Action Must Be Taken Immediately
    	|   3 = Critical Messages   - Application component unavailable, unexpected exception.
    	|   4 = Runtime Errors      - Don't need immediate action, but should be monitored.
    	|   5 = Warnings               - Exceptional occurrences that are not errors.
    	|   6 = Notices            - Normal but significant events.
    	|   7 = Info             - Interesting events, like user logging in, etc.
    	|   8 = Debug                - Detailed debug information.
    	|   9 = All Messages
    	|
    	| You can also pass an array with threshold levels to show individual error types
    	|
    	| 	array(1, 2, 3, 8) = Emergency, Alert, Critical, and Debug messages
    	|
    	| For a live site you'll usually enable Critical or higher (3) to be logged otherwise
    	| your log files will fill up very fast.
    	|
    	*/
    	public $threshold = 3;
    
    	/*
    	|--------------------------------------------------------------------------
    	| Date Format for Logs
    	|--------------------------------------------------------------------------
    	|
    	| Each item that is logged has an associated date. You can use PHP date
    	| codes to set your own date formatting
    	|
    	*/
    	public $dateFormat = 'Y-m-d H:i:s';
    
    	/*
    	|--------------------------------------------------------------------------
    	| Log Handlers
    	|--------------------------------------------------------------------------
    	|
    	| The logging system supports multiple actions to be taken when something
    	| is logged. This is done by allowing for multiple Handlers, special classes
    	| designed to write the log to their chosen destinations, whether that is
    	| a file on the getServer, a cloud-based service, or even taking actions such
    	| as emailing the dev team.
    	|
    	| Each handler is defined by the class name used for that handler, and it
    	| MUST implement the CodeIgniter\Log\Handlers\HandlerInterface interface.
    	|
    	| The value of each key is an array of configuration items that are sent
    	| to the constructor of each handler. The only required configuration item
    	| is the 'handles' element, which must be an array of integer log levels.
    	| This is most easily handled by using the constants defined in the
    	| Psr\Log\LogLevel class.
    	|
    	| Handlers are executed in the order defined in this array, starting with
    	| the handler on top and continuing down.
    	|
    	*/
    	public $handlers = [
    
    		//--------------------------------------------------------------------
    		// File Handler
    		//--------------------------------------------------------------------
    
    		'CodeIgniter\Log\Handlers\FileHandler' => [
    
    			/*
    			 * The log levels that this handler will handle.
    			 */
    			'handles'         => [
    				'critical',
    				'alert',
    				'emergency',
    				'debug',
    				'error',
    				'info',
    				'notice',
    				'warning',
    			],
    
    			/*
    			 * The default filename extension for log files.
    			 * An extension of 'php' allows for protecting the log files via basic
    			 * scripting, when they are to be stored under a publicly accessible directory.
    			 *
    			 * Note: Leaving it blank will default to 'log'.
    			 */
    			'fileExtension'   => '',
    
    			/*
    			 * The file system permissions to be applied on newly created log files.
    			 *
    			 * IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal
    			 * integer notation (i.e. 0700, 0644, etc.)
    			 */
    			'filePermissions' => 0644,
    
    			/*
    			 * Logging Directory Path
    			 *
    			 * By default, logs are written to WRITEPATH . 'logs/'
    			 * Specify a different destination here, if desired.
    			 */
    			'path'            => '',
    		],
    
    		/**
    		 * The ChromeLoggerHandler requires the use of the Chrome web browser
    		 * and the ChromeLogger extension. Uncomment this block to use it.
    		 */
    		//      'CodeIgniter\Log\Handlers\ChromeLoggerHandler' => [
    		//          /*
    		//           * The log levels that this handler will handle.
    		//           */
    		//          'handles' => ['critical', 'alert', 'emergency', 'debug',
    		//                        'error', 'info', 'notice', 'warning'],
    		//      ]
    	];
    }