Rumah > pangkalan data > tutorial mysql > Bagaimana untuk membangunkan sistem pengurusan log yang mudah menggunakan MySQL dan bahasa Go

Bagaimana untuk membangunkan sistem pengurusan log yang mudah menggunakan MySQL dan bahasa Go

王林
Lepaskan: 2023-09-21 09:05:14
asal
985 orang telah melayarinya

Bagaimana untuk membangunkan sistem pengurusan log yang mudah menggunakan MySQL dan bahasa Go

Cara menggunakan bahasa MySQL dan Go untuk membangunkan sistem pengurusan log mudah

Pengenalan:
Log sering digunakan dalam perisian pembangunan Ia merupakan komponen penting yang boleh membantu kami menjejaki masalah, merekodkan operasi pengguna, memantau prestasi sistem, dsb. Dalam artikel ini, saya akan mengajar anda cara membangunkan sistem pengurusan log mudah dengan menggabungkan bahasa MySQL dan Go, dan memberikan contoh kod khusus.

1. Persediaan persekitaran
Sebelum kita mula, kita perlu menyediakan persekitaran pembangunan. Mula-mula, pastikan anda telah memasang pangkalan data MySQL dan mencipta jadual log yang sepadan. Kedua, pasang versi terkini persekitaran pembangunan bahasa Go untuk memastikan kod anda boleh berjalan dengan betul.

2. Buat projek

  1. Buat direktori projek dan mulakan mod go di dalamnya:
rreee#🎜🎜 🎜 🎜#Buat fail main.go dan buka editor Kami akan menulis program utama dalam fail ini.
  1. 3 Sambung ke pangkalan data MySQL

Import pakej yang diperlukan dalam fail main.go.
  1. $ mkdir log_management_system
    $ cd log_management_system
    $ go mod init log_management_system
    Salin selepas log masuk
Mewujudkan sambungan ke pangkalan data MySQL dalam fungsi utama.
  1. package main
    
    import (
        "database/sql"
        "fmt"
        _ "github.com/go-sql-driver/mysql"
    )
    Salin selepas log masuk
  2. Di sini kami menggunakan dua pakej: database/sql dan github.com/go-sql-driver/mysql, The bekas ialah antara muka pangkalan data terbina dalam bahasa Go, dan yang terakhir ialah pemacu pangkalan data MySQL.

4 Cipta jadual log database/sqlgithub.com/go-sql-driver/mysql两个包,前者是Go语言内置的数据库接口,后者是MySQL数据库驱动。

四、创建日志表

  1. 在MySQL数据库中创建一个名为logs
Buat jadual bernama log dalam pangkalan data MySQL.
  1. func main() {
        db, err := sql.Open("mysql", "root:password@tcp(localhost:3306)/log?charset=utf8")
        if err != nil {
            panic(err.Error())
        }
        defer db.Close()
      
        err = db.Ping()
        if err != nil {
            panic(err.Error())
        }
      
        fmt.Println("Successfully connected to MySQL database")
        // 后续代码将在此处编写
    }
    Salin selepas log masuk
Laksanakan pernyataan SQL dalam fungsi utama untuk mencipta jadual log.

CREATE TABLE logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    level VARCHAR(10) NOT NULL,
    message VARCHAR(255) NOT NULL,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
Salin selepas log masuk
    5. Laksanakan fungsi menulis log dan pertanyaan
Melaksanakan fungsi menulis log.
  1. func main() {
        // 数据库连接代码...
    
        _, err = db.Exec(`CREATE TABLE IF NOT EXISTS logs (
            id INT AUTO_INCREMENT PRIMARY KEY,
            level VARCHAR(10) NOT NULL,
            message VARCHAR(255) NOT NULL,
            created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
        )`)
        if err != nil {
            panic(err.Error())
        }
    
        fmt.Println("Successfully created logs table")
        // 后续代码将在此处编写
    }
    Salin selepas log masuk
Melaksanakan fungsi menanyakan log.
  1. func insertLog(db *sql.DB, level string, message string) error {
        _, err := db.Exec(`INSERT INTO logs (level, message) VALUES (?, ?)`, level, message)
        return err
    }
    Salin selepas log masuk
Panggil fungsi untuk memasukkan log dan pertanyaan log dalam fungsi utama.


func queryLogs(db *sql.DB) ([]Log, error) {
    rows, err := db.Query(`SELECT * FROM logs ORDER BY created_at DESC`)
    if err != nil {
        return nil, err
    }
  
    defer rows.Close()
  
    logs := []Log{}
    for rows.Next() {
        var log Log
        err := rows.Scan(&log.ID, &log.Level, &log.Message, &log.CreatedAt)
        if err != nil {
            return nil, err
        }
      
        logs = append(logs, log)
    }
  
    return logs, nil
}

type Log struct {
    ID        int
    Level     string
    Message   string
    CreatedAt time.Time
}
Salin selepas log masuk
6. Ringkasan #🎜🎜# Melalui pengenalan artikel ini, anda telah mempelajari cara menggunakan bahasa MySQL dan Go untuk membangunkan sistem pengurusan log yang mudah. Kami menyediakan persekitaran pembangunan, menyambungkan pangkalan data MySQL, mencipta jadual log, dan melaksanakan penulisan log dan fungsi pertanyaan. Saya harap artikel ini dapat memberikan sedikit rujukan atau bantuan untuk anda membangunkan sistem pengurusan log dalam projek sebenar. #🎜🎜#

Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem pengurusan log yang mudah menggunakan MySQL dan bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan