Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan log masuk dalam CakePHP?

Bagaimana untuk menggunakan log masuk dalam CakePHP?

WBOY
WBOYasal
2023-06-04 21:21:01750semak imbas

CakePHP ialah rangka kerja pembangunan aplikasi web berasaskan PHP yang menyediakan skalabiliti yang berkuasa dan fleksibel. CakePHP menyediakan mekanisme pengelogan yang mudah untuk merekod dan menjejaki operasi dan status aplikasi. Dalam artikel ini, kami akan meneroka cara menggunakan fungsi pengelogan dalam CakePHP.

1. Konfigurasi pengelogan CakePHP

Pilihan konfigurasi pengelogan telah disediakan dalam fail konfigurasi aplikasi config/app.php. Kami hanya perlu menyesuaikan pilihan ini mengikut keperluan.

Pilihan konfigurasi pengelogan ialah:

'Log' => [
    'debug' => [
        'className' => 'CakeLogEngineFileLog',
        'path' => LOGS,
        'file' => 'debug',
        'levels' => ['notice', 'info', 'debug'],
        'url' => env('LOG_DEBUG_URL', null),
    ],
    'error' => [
        'className' => 'CakeLogEngineFileLog',
        'path' => LOGS,
        'file' => 'error',
        'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'],
        'url' => env('LOG_ERROR_URL', null),
    ],
]

Pilihan konfigurasi di atas termasuk dua bahagian: nyahpepijat dan ralat. nyahpepijat merekodkan maklumat penyahpepijatan dan oleh itu sangat berguna kepada pembangun. ralat merekod maklumat ralat, termasuk maklumat amaran, maklumat ralat, maklumat kritikal, maklumat amaran dan maklumat kecemasan. Kita boleh menambah kelas pembalakan lain mengikut keperluan.

2. Penggunaan pengelogan CakePHP

Pengelogan CakePHP boleh dilaksanakan menggunakan kelas perkhidmatan Log. Kita boleh log di mana-mana dalam aplikasi dengan memanggil kaedah seperti Log::debug() atau Log::error(). Contohnya:

use CakeLogLog;

Log::info('My message');

Kod di atas akan merekodkan mesej Mesej saya dalam fail log nyahpepijat program. Kami juga boleh menggunakan kaedah lain dalam kelas Log, seperti:

Log::emergency('This is an emergency!');
Log::alert('This is an alert!');
Log::critical('This is critical!');
Log::warning('This is a warning!');
Log::notice('This is a notice!');
Log::info('This is an info message!');
Log::debug('This is a debug message!');

3 Penggunaan kelas pengelogan CakePHP

CakePHP menyediakan tiga kelas pengelogan lalai:

  1. FileLog: Rekod log ke fail.
  2. SyslogLog: Rekod log ke log sistem. Pada masa ini hanya sistem pengendalian seperti UNIX yang disokong.
  3. Log Pangkalan Data: Rekod log ke pangkalan data.

Kami boleh menggunakan mana-mana kelas rekod ini atau menggunakan subkelas dan sambungannya.

Dalam artikel ini, kami akan menggunakan kelas pengelogan FileLog untuk merekod log dan menulis maklumat log ke dua fail /logs/debug.log dan /logs/error.log.

Dalam atur cara, kita boleh log maklumat penyahpepijatan menggunakan kod berikut:

Log::debug('This is a debug message');

Ini akan log mesej dalam fail /logs/debug.log.

Kami juga boleh log mesej ralat menggunakan kod berikut:

Log::error('This is an error message');

Ini akan log mesej dalam fail /logs/error.log.

4. Output pengelogan CakePHP

Kami boleh menggunakan kelas pengelogan lalai untuk mengeluarkan maklumat log, atau kami boleh menggunakan kelas tersuai atau perpustakaan kelas pihak ketiga untuk mengeluarkan maklumat log.

Secara lalai, kami boleh menggunakan pemapar fail untuk melihat maklumat log keluaran. Sebagai contoh, kita boleh menggunakan perintah tail -f untuk melihat kandungan fail log dalam masa nyata:

rreee

Arahan di atas akan memaparkan kandungan baharu dalam fail debug.log dalam masa nyata.

Kami juga boleh menggunakan alat yang lebih maju untuk melihat data log, seperti Elasticsearch dan Kibana. Alat ini menyediakan keupayaan carian, penapisan dan visualisasi yang berkuasa untuk fail log.

5. Ringkasan

Artikel ini memperkenalkan cara menggunakan fungsi pengelogan dalam CakePHP. Kami boleh log maklumat penyahpepijatan dan ralat di mana-mana dalam aplikasi dan menyimpannya ke fail atau pangkalan data. Anda juga boleh menggunakan kelas pengelogan lalai untuk mengeluarkan maklumat log. Akhir sekali, kami menyebut secara ringkas beberapa alatan lanjutan, seperti Elasticsearch dan Kibana, untuk membantu kami mencari, menapis dan memvisualisasikan data log dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan log masuk dalam CakePHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn