Rumah >pembangunan bahagian belakang >tutorial php >Pembalakan PHP yang lebih berkesan dengan Loggly
Artikel ini ditaja oleh Loggly. Terima kasih kerana menyokong penaja yang membuat SitePoint mungkin.
Pelayan terlalu banyak, perpustakaan membuang pengecualian, ralat semasa menghantar e -mel: kesilapan ini malangnya sebahagian daripada setiap sistem. Jika anda bertanggungjawab membuat sistem berfungsi dengan baik, itu masih keselesaan sejuk. Lebih -lebih lagi, saya yakin anda sudah mempunyai semua data yang anda perlukan untuk menyelesaikannya duduk di dalam fail log anda.tetapi mempunyai akses kepada data itu tidak benar -benar membantu melainkan jika anda mempunyai cara untuk menyimpan, memproses, dan menganalisis data tersebut. Dalam artikel ini, saya akan menerangkan cara menggunakan data ini dengan lebih berkesan dengan menggunakan perpustakaan pembalakan PHP dengan penyelesaian pengurusan log yang betul (dalam kes ini, Loggly). Saya juga akan menunjukkan contoh cara menggunakan perkhidmatan pengurusan log untuk menyimpan dan menganalisisnya dengan lebih mudah.
Takeaways Key
openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();Tetapi apa yang akan anda lakukan jika anda terpaksa log ke beberapa tempat pada masa yang sama, atau anda menghantar log ke perkhidmatan tertentu bergantung pada tahap ralat? Daripada menggunakan alat terbina dalam, selalunya lebih mudah menggunakan perpustakaan pembalakan.
mengapa saya menggunakan monolog
Pastikan untuk menyemak dokumentasi untuk maklumat lanjut mengenai pakej. Rangka kerja yang paling popular termasuk monolog keluar dari kotak, jadi periksa senarai penuh pada dokumentasi. Jika anda tidak memasang monolog, anda boleh menambahkannya ke projek menggunakan komposer.
openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();
Sejak pembalakan memerlukan penulisan ke cakera, melakukan sandaran dan mencari fail, sesetengah syarikat membuat perkhidmatan berasingan untuk mengendalikan pekerjaan (biasanya satu set skrip atau aplikasi ke fail grep mencari maklumat apabila beberapa jenis ralat berlaku). Sebagai syarikat atau perkhidmatan anda skala, ini dengan cepat dapat menjadi mimpi buruk bagi pemaju dan penganalisis anda. Satu lagi, lebih baik, alternatif adalah perkhidmatan berasaskan awan untuk penyimpanan dan analisis log mereka dan ini mempunyai banyak faedah, seperti yang akan kita bincangkan lagi dalam artikel ini.
Terdapat beberapa perkhidmatan pengurusan log yang akan membuat penyimpanan dan menganalisis log anda lebih mudah. Loggly adalah yang paling popular dan ia mempunyai beberapa cara untuk mengintegrasikan dengan PHP. Sebaik sahaja Loggly menerima log anda, anda akan dapat mencari, kumpulan dan memvisualisasikan data anda dengan cara yang sangat mengagumkan. Anda boleh mencubanya secara percuma. Anda hanya membayar jika anda mempunyai trafik yang cukup besar di laman web anda. Mari mulakan terlebih dahulu dengan melihat cara memasangnya di pelayan anda untuk menjejaki log sistem anda.
Jika anda memutuskan untuk pergi dengan Perpustakaan Pakej Monolog untuk proses pembalakan anda, sangat mudah untuk mendapatkannya diintegrasikan dengan mana -mana perkhidmatan pengurusan log, termasuk Loggly.
Secara lalai, ia dilengkapi dengan Logglyhandler untuk Loggly.
composer <span>require monolog/monolog</span>
Selepas membuat contoh monolog, kami akan menolak pengendali kami ke senarai pengendali berdaftar, dan anda perlu memberikan token anda seperti yang disebutkan sebelumnya. Bahagian tag adalah pilihan, tetapi ia sentiasa merupakan idea yang baik untuk memisahkan entri log anda dengan menandakannya dengan sewajarnya. Sekarang kami bersedia untuk memulakan pembalakan ke perkhidmatan kami menggunakan Monolog.
<span>$logger = new <span>\Monolog\Logger</span>('local_test_app'); $logger->pushHandler(new <span>\Monolog\Handler\LogglyHandler</span>('YOUR_TOKEN/tag/monolog'));</span>
Oleh kerana Laravel menggunakan monolog untuk proses pembalakan, kita dapat dengan mudah mengikat pengendali kita.
<span>$logger->addInfo("Info test from monolog"); //$logger->addWarning("Warning test from monolog");</span>
Apabila anda memindahkan aplikasi anda ke pengeluaran, anda ingin memastikan bahawa penjejakan log anda berfungsi dengan baik. Dalam seksyen ini kita akan melampirkan Loggly ke aplikasi Heroku kami. Heroku menggunakan longkang log untuk membantu anda meneruskan log anda ke perkhidmatan pembalakan luaran. Anda boleh menyemak dokumentasi untuk maklumat lanjut mengenai proses pemasangan.
openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();
Anda perlu mengemas kini token dengan token sebenar anda yang boleh anda dapati pada setup sumber> halaman token pelanggan. Heroku_app_name boleh ditinggalkan jika anda sudah log masuk ke dalam contoh Heroku anda, jika tidak, anda perlu menentukan nama aplikasi Heroku anda.
URL longkang berakhir dengan tag/heroku, ini akan membantu kami menapis log kami menggunakan tag yang ditakrifkan, kami akan bercakap lebih lanjut mengenai ini kemudian.
Loggly boleh diintegrasikan dengan mudah dengan mana -mana perkhidmatan luaran seperti Heroku. Semak dokumentasi Loggly untuk gambaran keseluruhan kaedah penghantaran log dan skrip atau perpustakaan yang tersedia.
Sekarang kami telah membincangkan cara menghantar log anda ke Loggly, kami boleh mula menganalisis dan bekerja dengan data kami. Halaman carian menyediakan satu set alat untuk menapis, menganalisis dan menggambarkan log kami.
Papan pemuka menunjukkan garis masa acara anda bersama -sama dengan senarai log di bahagian bawah. Bahagian atas halaman mengandungi kotak carian dan julat tarikh untuk menapis peristiwa, anda boleh memilih 30 minit terakhir atau menentukan julat tarikh tersuai misalnya dan klik carian untuk mengesahkan.
Anda boleh menggunakan input carian untuk menapis data menggunakan istilah tertentu seperti "e -mel" atau "event_*". Loggly akan mencari di dalam badan entri log anda dan memaparkan hasilnya di bahagian bawah halaman. Anda juga boleh menggunakan medan untuk mencari, seperti "Tag: Monolog" untuk menapis peristiwa yang dihantar sebelum ini dari Monolog. Menu sebelah kiri dipanggil Explorer Field Dynamic dan ia dapat membantu anda mengenal pasti penapis medan yang tersedia.
mari kita ambil contoh berikut untuk lebih memahami cara menganalisis log.
Ralat pelayan dalaman dilemparkan apabila pelayan anda tidak dapat memproses permintaan yang sah dari pengguna. Dalam PHP, butiran mengenai ralat ini boleh didapati di dalam log Apache anda, jika anda mendaftarkan pengendali ralat menggunakan PHP, anda boleh mengumpulkan fail log anda sendiri supaya anda boleh menganalisisnya dan menetapkan kesilapan mengikut mesej log.
Anda boleh menggunakan widget Field Explorer di sebelah kiri halaman untuk menapis log ke bawah menggunakan kod status Apache 5xx. Carian boleh menjadi khusus seperti "Apache.Status: 500" atau anda boleh menjadikannya lebih generik seperti "Apache.Status: [500 hingga 599]".
Dalam PHP, apabila ralat maut dilemparkan, program ini akan menghentikan pelaksanaan dan log ralat ke sistem anda. Kerana kesilapan maut tidak sepatutnya berlaku pada pengeluaran, Loggly menyediakan cara mudah untuk mengesan keterukan kesilapan dari sumber yang berbeza. Istilah "syslog.appname: php" hanya akan menunjukkan log php, sekarang kita perlu menunjukkan kesilapan dari keparahan tertentu menggunakan syslog.severity: istilah ralat, kita juga boleh menentukan julat seperti "syslog.severity: [Amaran untuk ralat ] ". Anda boleh membaca lebih lanjut mengenai senarai medan yang tersedia pada dokumentasi.
openlog('php', LOG\_CONS | LOG\_NDELAY | LOG\_PID, LOG\_USER | LOG\_PERROR); syslog(LOG\_ERR, 'Error!'); syslog(LOG\_INFO, 'Hello World!'); closelog();
Kebanyakan masa kami memaparkan hasil sebagai senarai, tetapi anda mungkin mahu menggunakan graf lain dari senarai carta di bahagian bawah halaman.
Salah satu ciri kegemaran saya di Loggly ialah alat Alerts. Anda boleh mengkonfigurasi Loggly untuk menghantar pemberitahuan ke e -mel anda atau perkhidmatan lain apabila tindakan berlaku pada permohonan anda. Mari melalui proses secara terperinci.
Pertama, anda perlu membuat carian baru dan menyimpannya. Mari kita ambil contoh carian ini: "syslog.appname: php dan php.level:" ralat maut ""
Ini akan menunjukkan kepada kami senarai kesilapan maut PHP pada sistem kami. Seterusnya, kita perlu menyimpan kriteria carian ini. Klik pada bintang kecil di sebelah kanan atas halaman papan pemuka, pilih item "Simpan carian ini sebagai ..." dan namakan carian.
Sekarang kita boleh pergi ke senarai makluman dan klik Tambah Baru untuk membuat yang baru. Selepas memberikan nama dan keterangan kepada amaran anda, anda boleh memilih carian yang disimpan dari senarai dan syarat (amaran jika kiraan adalah> = 1 dalam masa 5 minit). Sebagai contoh saya, saya akan menghantar pemberitahuan e -mel, tetapi jika anda mempunyai perkhidmatan yang secara automatik meluluskan ralat kepada pasukan anda untuk pengesahan, anda boleh mengkonfigurasinya untuk menyiarkannya ke titik akhir anda. Anda boleh membaca lebih lanjut mengenai makluman mengenai dokumentasi.
Loggly boleh mengubah cara anda berurusan dengan log anda, dari carian regexp untuk mengarkib. Perkhidmatan ini juga mempunyai UX yang hebat, dan dokumentasi sangat mudah, yang meliputi majoriti kemungkinan. Anda boleh memulakan dengan percubaan percuma untuk menguji semua ciri. Sekiranya anda mempunyai sebarang pertanyaan, jangan ragu untuk menyiarkannya di bawah dan saya akan melakukan yang terbaik untuk menjawabnya.
bagaimana anda membuat pembalakan php lebih mudah?
Loggly menonjol sebagai alat pembalakan PHP yang kuat kerana ciri -ciri yang mantap dan kemudahan penggunaannya. Ia menyediakan pengurusan log terpusat, yang bermaksud anda boleh mengakses dan mengurus semua log anda dari satu tempat. Ini amat berguna untuk aplikasi berskala besar di mana log dihasilkan dari pelbagai sumber. Loggly juga menyokong pelbagai format log, termasuk PHP, menjadikannya serba boleh untuk aplikasi yang berbeza. Ia menawarkan pemantauan dan analisis log masa nyata, yang dapat membantu mengenal pasti dan menyelesaikan masalah dengan segera. Di samping itu, Loggly menyediakan keupayaan carian canggih, menjadikannya lebih mudah untuk mencari entri log tertentu. ciri -ciri. Walaupun kebanyakan perpustakaan membenarkan fungsi pembalakan asas, Loggly melangkah lebih jauh dengan menyediakan pengurusan log terpusat, pemantauan masa nyata, dan keupayaan carian lanjutan. Ia juga menyokong pelbagai format log yang lebih luas. Walau bagaimanapun, penting untuk diperhatikan bahawa pilihan perpustakaan pembalakan sebahagian besarnya bergantung kepada keperluan khusus aplikasi anda. Sesetengah pemaju mungkin lebih suka perpustakaan yang lebih mudah untuk aplikasi yang lebih kecil, sementara yang lain mungkin memerlukan ciri -ciri yang mantap untuk aplikasi yang lebih besar dan lebih kompleks. agak mudah diintegrasikan dengan PHP. Ia menyediakan API mudah yang boleh anda gunakan untuk menghantar log dari aplikasi PHP anda ke Loggly. Proses ini melibatkan memasang perpustakaan Loggly, mengkonfigurasi dengan token pelanggan anda, dan kemudian menggunakan fungsi perpustakaan untuk menghantar log. Arahan terperinci dan contoh kod disediakan dalam dokumentasi Loggly, menjadikan proses integrasi lebih mudah walaupun untuk pemula. Salah satu ciri utama Loggly ialah keupayaan pemantauan log masa nyata. Ini bermakna anda boleh melihat dan menganalisis log PHP anda kerana ia dihasilkan, membolehkan anda mengenal pasti dan menyelesaikan masalah dengan segera. Loggly juga menyediakan ciri -ciri amaran, yang dapat memberitahu anda apabila syarat -syarat tertentu dipenuhi dalam log anda. Ini amat berguna untuk mengesan dan bertindak balas terhadap isu -isu kritikal.
Bolehkah saya menyesuaikan format log dalam Loggly?
Atas ialah kandungan terperinci Pembalakan PHP yang lebih berkesan dengan Loggly. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!