2011-11-22 32 views
5

Tôi không thể xem tệp nhật ký trong khung hình Yii. Theo mặc định, nó sẽ lưu trong "bảo vệ/thời gian chạy". Dưới đây là cấu hình của tôi trong chính:Không thể xem tệp nhật ký trong Yii

'log'=>array(
      'class'=>'CLoCFileLogRoutegRouter', 
      'routes'=>array(
       array(
        'class'=>'CFileLogRoute', 
        'levels'=>'error, warning, info', 
        'categories'=>'system.*', 
       ))), 

và đây là cách tôi đang đăng nhập:

Yii::log("Index Checkout", "profile", 'system.web.CController'); 
Yii::trace('IndexCheckout', 'system.web.CController'); 

Không nhận được bất kỳ lỗi, nhưng không thể tìm thấy bất kỳ tập tin đăng nhập.

Bất kỳ ý tưởng nào? Cảm ơn.

Trả lời

6

Có thể có tên không đúng với lớp nhật ký của bạn CLoCFileLogRoutegRouter. Nó phải là CLogRouter

'log' => array(
    'class' => 'CLogRouter', 
     'routes' => array(
      array(
       'class' => 'CFileLogRoute', 
        'levels' => 'error, warning, info', 
        'categories'=>'system.*', 
       ), 
+2

Có vẻ như anh ấy đã nhập tên lớp mới ở giữa tên cũ, vô tình mà không xóa nó trước. :) Tôi tự hỏi tại sao không có lỗi nào được báo cáo ... –

1

Đây rất có thể là vấn đề về quyền. Thư mục thời gian chạy có thể ghi được bởi máy chủ web của bạn (Apache) không?

+0

Để thêm thông tin, Im trên WAMP và có thư mục đã được cho phép. – Arfeen

1

Bạn đang cấu hình đăng nhập của bạn chỉ đăng các thông điệp liên quan đến 'lỗi, cảnh báo và thông tin',

Và bạn đang cố gắng đăng nhập, "dấu vết" (Yii :: dấu vết) và "hồ sơ" cấp, đó là lý do tại sao bạn không nhận được bất cứ điều gì.

Ngoài ra: dont cố gắng đăng nhập "Hồ sơ" những điều trên bạn sở hữu, có những phương pháp cụ thể cho điều đó, cụ thể là Yii::beginProfile()Yii::endProfile, đọc thêm về hồ sơ tại the yii guide

6

Mặc dù câu hỏi đã được trả lời

Hãy xem xét rằng Yii viết nhật ký sau khi kịch bản chính kết thúc, Vì vậy, nếu bạn chấm dứt tập lệnh của mình bằng cách sử dụng lệnh die(), bạn sẽ không bao giờ để Yii ghi lại. Để tránh các vấn đề như vậy, bạn nên chấm dứt tập lệnh bằng cách sử dụng lệnh Yii :: app() -> end().

For more information see here

+0

Cảm ơn bạn đã trả lời nhưng nếu bạn đang trả lời ... hãy giải thích đúng cách .. – Shivaay

+1

Giải thích định nghĩa của bạn về đúng cách, Nguyên nhân (die()), Giải pháp (Yii :: app() -> end()) và cũng là một bằng chứng (tham chiếu đến trang khung công tác). Câu hỏi không phải là một khái niệm, nó chỉ là một lỗi đơn giản và tôi không nghĩ rằng cần thêm thông tin. –

+0

cảm ơn! 'exit;' có cùng tác dụng phụ như 'die();' do – Sisyphus

Các vấn đề liên quan