Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang penyimpanan log dan analisis pertanyaan rangka kerja Gin

Penjelasan terperinci tentang penyimpanan log dan analisis pertanyaan rangka kerja Gin

王林
王林asal
2023-06-22 08:22:361545semak imbas

Rangka kerja Gin ialah rangka kerja web yang ringan Kelebihannya ialah kelajuan pantas, kemudahan penggunaan yang tinggi dan fungsi yang berkuasa, jadi ia disukai dan digunakan oleh semakin ramai pembangun. Sebagai aplikasi web, ia pasti akan menjana sejumlah besar maklumat log Untuk menyimpan, membuat pertanyaan dan menganalisis log ini dengan lebih baik, kita perlu mempunyai pemahaman dan aplikasi yang mendalam tentang fungsi pengelogan rangka kerja Gin.

1. Fungsi pengelogan rangka kerja Gin
Rangka kerja Gin menyediakan dua kaedah pengelogan: output konsol dan output fail. Dengan menyediakan logger rangka kerja Gin, anda boleh mengeluarkan maklumat log ke konsol atau fail tertentu.

  1. Output Konsol
    Output Konsol ialah cara yang mudah dan pantas untuk mengeluarkan sejumlah kecil log. Anda hanya perlu menggunakan kaedah Logger() yang disediakan oleh rangka kerja Gin secara lalai, dan program akan mengeluarkan maklumat log ke konsol standard. Contohnya:

    penghala := gin.Default()
    penghala.Use(gin.Logger())
    penghala.Run()

dalam Selepas menggunakan kod di atas, output maklumat log oleh rangka kerja Gin boleh dipaparkan dalam konsol, termasuk kaedah permintaan, laluan permintaan, kod status respons, masa permintaan, alamat IP permintaan dan maklumat lain.

  1. Output fail
    Jika volum log besar, kami mengesyorkan agar anda mengeluarkan maklumat log ke fail untuk membantu mengurus dan menganalisis maklumat log dengan lebih baik. Berikut ialah cara mudah untuk mengeluarkan maklumat log ke fail Anda boleh menentukan lokasi dan nama fail di mana log disimpan dengan mengubah suai laluan fail dan nama fail:

    f, _ := os.Create. ("gin .log")
    penghala := gin.Default()
    penghala.Use(gin.LoggerWithWriter(f))
    penghala.Run()

Gunakan Selepas kod di atas, atur cara menulis maklumat log ke fail "gin.log", dan laluan fail adalah sama seperti yang anda tetapkan.

2. Penyelesaian penyimpanan log
Pelog yang disediakan oleh rangka kerja Gin hanya boleh menjana dan menyimpan rekod log yang lengkap semasa aplikasi berjalan Jika sistem gagal atau ranap, maklumat log yang direkodkan akan hilang . , beberapa maklumat log penting tidak boleh ditanya untuk menyeragamkan dan menyimpan maklumat log dengan lebih baik, kami perlu menggunakan penyelesaian storan log tertentu.

  1. Pengumpulan log
    Sebelum penyimpanan log, maklumat log sedia ada perlu dikumpulkan. Rangka kerja Gin menyediakan output konsol dan output fail.

Apabila kami mengeluarkan log ke fail, kami boleh menggunakan alat pengumpulan log pihak ketiga untuk mengumpul dan memproses fail log. Alat pengumpulan log yang biasa digunakan termasuk: Logstash, Fluentd, Beats dan alatan lain. Alat ini boleh mengumpul maklumat log rangka kerja Gin dan mengeluarkannya ke platform penyimpanan data tertentu.

  1. Storan Log
    Selain kaedah tradisional, seperti pangkalan data hubungan seperti MySQL dan Oracle, maklumat log juga boleh disimpan menggunakan NoSQL atau storan awan.

Apabila menggunakan pangkalan data hubungan, anda perlu mencipta jadual pengelogan yang sepadan dalam pangkalan data dahulu, dan kemudian menyusun maklumat log dan menulisnya ke dalam jadual. Seperti yang ditunjukkan di bawah:

CREATE TABLE log (
    id INT PRIMARY KEY AUTO_INCREMENT,
    timestamp DATETIME,
    level ENUM('debug', 'info', 'warn', 'error', 'fatal'),
    message TEXT
);

Apabila menggunakan penyelesaian storan NoSQL, maklumat log boleh disimpan terus dalam pangkalan data NoSQL sebagai dokumen. Seperti yang ditunjukkan di bawah:

{
    "timestamp": "2022-01-01T00:00:00.000Z",
    "level": "debug",
    "message": "Some debug message"
}

Apabila menggunakan penyelesaian storan awan, kaedah penyimpanan agak mudah Anda hanya perlu memuat naik maklumat log ke ruang storan awan.

3. Pertanyaan dan analisis log
Selepas log disimpan, perlu ada kaedah untuk membuat pertanyaan dan menganalisis log. Penyoalan log secara manual memerlukan banyak masa Pendekatan yang ideal ialah menggunakan pertanyaan log profesional dan alat analisis untuk analisis. Alatan pertanyaan dan analisis log yang biasa digunakan termasuk: ELK (Elasticsearch, Logstash, Kibana), Splunk, Graylog, dsb.

Ambil ELK sebagai contoh, ia ialah penyelesaian pertanyaan dan analisis log teragih sumber terbuka. ELK terdiri daripada tiga bahagian: Elasticsearch, Logstash dan Kibana digunakan untuk penyimpanan dan pertanyaan, Logstash digunakan untuk pengumpulan dan pemprosesan log, dan Kibana digunakan untuk visualisasi data. Dalam ELK, anda boleh membuat pertanyaan, menganalisis dan memaparkan log melalui antara muka visual Kibana, seperti menanyakan bilangan log dalam tempoh masa tertentu, mengira bilangan log jenis tertentu, melukis lengkung volum log dan sebagainya.

Ringkasan
Melalui pengenalan fungsi pengelogan dan penyelesaian penyimpanan log rangka kerja Gin, kita boleh belajar cara menyimpan dan bertanya maklumat log rangka kerja Gin dengan lebih baik. Menggunakan spesifikasi dan alatan tertentu untuk memproses log sangat membantu untuk operasi aplikasi dan penyelenggaraan dan penyelesaian masalah ralat.

Atas ialah kandungan terperinci Penjelasan terperinci tentang penyimpanan log dan analisis pertanyaan rangka kerja Gin. 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