2012-02-08 110 views
4

我跟着這tutorial但我仍然去網頁刷新,然後去文件,仍然我找不到我發送的日誌消息 我寫了下面的行控制器:Yii不明白如何登錄消息

Yii::log("Index Checkout",CLogger::LEVEL_ERROR); 

和我的配置:

'log' => array(
      'class' => 'CLogRouter', 
      'routes' => array(
       array(
        'logFile'=>'trace.log', 
        'class' => 'CFileLogRoute', 
        'levels' => 'error,info, warning', 
       ), 
      // uncomment the following to show log messages on web pages 
      /* 
       array(
       'class'=>'CWebLogRoute', 
      ), 
      */ 
      ), 
+1

除非您沒有正確結束應用程序,否則這些設置將毫無用處。消息路由在請求結束時完成。另外,沒有提供日誌文件的路徑,它只是一個文件名。也許你正在看錯文件? – hakre 2012-02-08 12:42:44

+0

沒有它創建的文件,我實際上檢查它是否工作,它確實工作 – 2012-02-08 12:53:48

回答

5

我是在與誼記錄了類似的麻煩。奇怪,但我有點搞亂參數順序。

這個工作對我來說:

<?php 

Yii::log('', CLogger::LEVEL_ERROR, 'Message Here...'); 
+10

它是'Yii :: log($ message,$ level,$ category);' – hakre 2012-02-08 13:30:43

+1

我同意,正確的參數順序是你提供,但我上面發佈的例子工作得很好,出於某種原因。 – Otar 2012-02-09 09:30:26

+0

@otar其實是的它的工作,我知道這是不對的,但它幫助我做一些調試感謝的人 – 2012-02-10 17:46:52

8

寫入日誌正確的做法是:

Yii::log($message, $level, $category); 

但一點是,$類別不能爲空

上面的例子工作原因是消息被寫入類別中,然後類別不是空的,但它寫入空消息。它寫類別,所以它看起來像消息..但它不是。