撸sir

撸sir

这家伙有点懒,还没写个性签名!

  • 财富值20
  • 威望值10
  • 总积分150

个人信息

  • 回复了 的回答

    你 redirect 到另一个站的控制器还是本站控制器呀?要是本地站的话应该可以获取到啊,除非session没保存成功。

    是本控制器,但是在iframe 里跳转得,iframe是另外网站的

  • 回复了 的回答

    描述的不是很清楚啊。不过大概是跨域设置cookie的问题吧

    应该是 在a站点 里嵌了 b站点的页面 b站点里设置session 跳转到b站点的另一个方法获取设置的session就获取不到了

  • 忘了说是在手机浏览器 尤其是IOS里

  • 回复了 的回答

    一个很2的想法,可以把sessionid存到cookie么,下次直接从cookie先读一次sessionid

    在手机浏览器里

  • 提出了问题
    iframe 里 redirect 后 sessionid 被重置
  • gii 比较方便

  • 回复了 的回答

    默认的日志格式就是 {date}{ip}{userID}{sessionID}{level}{category}{text}{trace}

    不知道有没有理解对你的问题,你希望去掉的 "in xxxxx" 应该就是日志中的{trace}域,目前yii不支持自定义日志格式,你如果非要这么做,只能自己改写yii\log\Target::formatMessage方法,自己格式化自己需要的日志格式。

    该方法的代码如下:

    
    public function formatMessage($message)
        {
            list($text, $level, $category, $timestamp) = $message;
            $level = 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 date('Y-m-d H:i:s', $timestamp) . " {$prefix}[$level][$category] $text"
                . (empty($traces) ? '' : "\n    " . implode("\n    ", $traces));
        }
    
    

    你可以实现一个自定义的Target继承自FileTarget,然后在你自己的Target中改写此方法即可。

    我在别的项目也是这么用就没有 in XXXXX

  • 回答了问题 Yii::info

    `[

                    'class' => 'yii\log\FileTarget',
    
                    'levels' => ['info','error'],
    
                    'categories' => ['guangdian'],
                    'logVars'=>[],
                    'logFile' => '@app/runtime/logs/gd'.date('Ymd').'.log',
    
                    'maxFileSize' => 1024 * 5,
                    'maxLogFiles' => 150,
    
                ]`
    
助理 等级规则
150/200
资料完整度
10/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

0

Ta的访客

7