/** * Constructs a new Console Logger. * * Config * * - `levels` string or array, levels the engine is interested in * - `scopes` string or array, scopes the engine is interested in * - `stream` the path to save logs on. * - `outputAs` integer or ConsoleOutput::[RAW|PLAIN|COLOR] * * @param array $config Options for the FileLog, see above. * @throws \InvalidArgumentException */ public function __construct(array $config = array()) { if (DS === '\\' && !(bool) env('ANSICON') || function_exists('posix_isatty') && !posix_isatty($this->_output)) { $this->_defaultConfig['outputAs'] = ConsoleOutput::PLAIN; } else { $this->_defaultConfig['outputAs'] = ConsoleOutput::COLOR; } parent::__construct($config); $config = $this->_config; if ($config['stream'] instanceof ConsoleOutput) { $this->_output = $config['stream']; } elseif (is_string($config['stream'])) { $this->_output = new ConsoleOutput($config['stream']); } else { throw new InvalidArgumentException('`stream` not a ConsoleOutput nor string'); } $this->_output->outputAs($config['outputAs']); }
/** * Change the output mode of the stdout stream * * @param int $mode The output mode. * @return void * @see \Cake\Console\ConsoleOutput::outputAs() */ public function outputAs($mode) { $this->_out->outputAs($mode); }