The log file is specified via [[logFile]]. If the size of the log file exceeds [[maxFileSize]] (in kilo-bytes), a rotation will be performed, which renames the current log file by suffixing the file name with '.1'. All existing log files are moved backwards by one place, i.e., '.2' to '.3', '.1' to '.2', and so on. The property [[maxLogFiles]] specifies how many history files to keep.
Since: 2.0
Author: Qiang Xue (qiang.xue@gmail.com)
Inheritance: extends Target
コード例 #1
0
ファイル: BaseController.php プロジェクト: apanly/dream
 public function recode_log($msg)
 {
     $log = new FileTarget();
     $log->logFile = Yii::$app->getRuntimePath() . '/logs/wx_debug_' . date("Y-m-d") . '.log';
     $log->messages[] = [$msg, 1, 'application', microtime(true)];
     $log->export();
 }
コード例 #2
0
ファイル: AuthController.php プロジェクト: apanly/dream
 public function recode($msg)
 {
     $time = microtime(true);
     $log = new FileTarget();
     $log->logFile = Yii::$app->getRuntimePath() . '/logs/err.log';
     $log->messages[] = [$msg . " [url:{$_SERVER['REQUEST_URI']}][post:" . http_build_query($_POST) . "]", 1, 'application', $time];
     $log->export();
 }
コード例 #3
0
ファイル: ErrorController.php プロジェクト: apanly/dream
 public function actionError()
 {
     $code = 404;
     $msg = CommonException::OBJECT_NOT_FOUND;
     $error = Yii::$app->errorHandler->exception;
     if ($error) {
         $code = $error->getCode();
         $msg = $error->getMessage();
         $file = $error->getFile();
         $line = $error->getLine();
         $time = microtime(true);
         $log = new FileTarget();
         $log->logFile = Yii::$app->getRuntimePath() . '/logs/err.log';
         $log->messages[] = [$msg . " [file: {$file}][line: {$line}][err code:{$code}.][url:{$_SERVER['REQUEST_URI']}][post:" . http_build_query($_POST) . "]", 1, 'application', $time];
         $log->export();
         $code = -1;
         $msg = "系统错误,请稍后重试";
     }
     return $this->goHome();
 }
コード例 #4
0
 /**
  * (non-PHPdoc)
  * @see \yii\log\Target::formatMessage()
  */
 public function formatMessage($message)
 {
     if (!$this->with_microtime) {
         return parent::formatMessage($message);
     }
     list($text, $level, $category, $timestamp) = $message;
     $level = \yii\log\Logger::getLevelName($level);
     if (!is_string($text)) {
         $text = VarDumper::export($text);
     }
     $traces = [];
     if (isset($message[4])) {
         foreach ($message[4] as $trace) {
             $traces[] = "in {$trace['file']}:{$trace['line']}";
         }
     }
     $prefix = $this->getMessagePrefix($message);
     return (new \DateTime())->setTimestamp($timestamp)->format('Y-m-d H:i:s') . ':' . str_pad(round(($timestamp - floor($timestamp)) * 1000000), 6, '0', STR_PAD_RIGHT) . " {$prefix}[{$level}][{$category}] {$text}" . (empty($traces) ? '' : "\n    " . implode("\n    ", $traces));
 }
コード例 #5
0
<?php

$params = array_merge(require __DIR__ . '/../../common/config/params.php', require __DIR__ . '/../../common/config/params-local.php', require __DIR__ . '/params.php', require __DIR__ . '/params-local.php');
return ['id' => 'app-practical-a-frontend', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'controllerNamespace' => 'frontend\\controllers', 'components' => ['log' => ['traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [['class' => \yii\log\FileTarget::className(), 'levels' => ['error']]]], 'errorHandler' => ['errorAction' => 'site/error']], 'params' => $params];
コード例 #6
0
ファイル: base.php プロジェクト: psesd/cascade-lib
    $base['components']['user'] = ['class' => 'canis\\web\\User', 'enableAutoLogin' => false, 'identityClass' => 'cascade\\server\\models\\User', 'loginUrl' => ['/user/login']];
}
if (!isset($base['components']['fileStorage'])) {
    $base['components']['fileStorage'] = ['class' => FileStorage::className()];
}
if (!isset($base['components']['view'])) {
    $base['components']['view'] = ['class' => View::className()];
}
if (!isset($base['components']['response'])) {
    $base['components']['response'] = ['class' => Response::className()];
}
if (!isset($base['components']['log'])) {
    $base['components']['log'] = [];
}
if (!isset($base['components']['log']['traceLevel'])) {
    $base['components']['log']['traceLevel'] = YII_DEBUG ? 3 : 0;
}
if (!isset($base['components']['log']['targets'])) {
    $base['components']['log']['targets'] = [];
    $base['components']['log']['targets'][] = ['class' => FileTarget::className(), 'levels' => ['error', 'warning']];
}
if (!isset($base['components']['formatter'])) {
    $base['components']['formatter'] = ['class' => I18nFormatter::className(), 'dateFormat' => 'MM/dd/yyyy'];
}
if (YII_DEBUG) {
    if (!isset($base['components']['errorHandler'])) {
        $base['components']['errorHandler'] = [];
    }
    $base['components']['errorHandler']['discardExistingOutput'] = false;
}
return $base;
コード例 #7
0
 /**
  * Initializes the route.
  * This method is invoked after the route is created by the route manager.
  */
 public function init()
 {
     parent::init();
     ini_set('precision', 20);
 }
コード例 #8
0
ファイル: base.php プロジェクト: psesd/sensor-hub
}
if (!isset($base['components']['view'])) {
    $base['components']['view'] = ['class' => View::className()];
}
if (!isset($base['components']['response'])) {
    $base['components']['response'] = ['class' => Response::className()];
}
if (!isset($base['components']['log'])) {
    $base['components']['log'] = [];
}
if (!isset($base['components']['log']['flushInterval'])) {
    $base['components']['log']['flushInterval'] = 1;
}
if (!isset($base['components']['log']['traceLevel'])) {
    $base['components']['log']['traceLevel'] = YII_DEBUG ? 3 : 0;
}
if (!isset($base['components']['log']['targets'])) {
    $base['components']['log']['targets'] = [];
}
$base['components']['log']['targets'][] = ['class' => FileTarget::className(), 'levels' => ['error', 'warning']];
$base['components']['log']['targets'][] = ['class' => FileTarget::className(), 'categories' => ['yii\\swiftmailer\\Logger::add'], 'logFile' => "@runtime/logs/mail.log", 'exportInterval' => 1];
if (!isset($base['components']['formatter'])) {
    $base['components']['formatter'] = ['class' => I18nFormatter::className(), 'dateFormat' => 'MM/dd/yyyy'];
}
if (YII_DEBUG) {
    if (!isset($base['components']['errorHandler'])) {
        $base['components']['errorHandler'] = [];
    }
    $base['components']['errorHandler']['discardExistingOutput'] = false;
}
return $base;
コード例 #9
0
ファイル: InitController.php プロジェクト: yii2tech/install
 /**
  * Creates a file log target, if it is required.
  * @return FileTarget|null file log target or null, if it is not required.
  */
 protected function createFileLogTarget()
 {
     if (empty($this->logFile)) {
         return null;
     }
     return Yii::createObject(['class' => FileTarget::className(), 'exportInterval' => 1, 'categories' => [get_class($this) . '*'], 'logFile' => $this->logFile]);
 }