mirror of
https://github.com/WJQSERVER-STUDIO/ghproxy.git
synced 2026-02-03 08:11:11 +08:00
24w06b
This commit is contained in:
parent
efeb940676
commit
0899397d2e
7 changed files with 263 additions and 212 deletions
|
|
@ -8,8 +8,12 @@ import (
|
|||
"time"
|
||||
)
|
||||
|
||||
var logFile *os.File
|
||||
var logger *log.Logger
|
||||
var (
|
||||
logFile *os.File
|
||||
logger *log.Logger
|
||||
logChannel = make(chan string, 100) // 创建一个缓冲通道
|
||||
quitChannel = make(chan struct{}) // 用于通知退出
|
||||
)
|
||||
|
||||
// Init 初始化日志记录器,接受日志文件路径作为参数
|
||||
func Init(logFilePath string) error {
|
||||
|
|
@ -19,17 +23,29 @@ func Init(logFilePath string) error {
|
|||
return err
|
||||
}
|
||||
logger = log.New(logFile, "", 0) // 不使用默认前缀
|
||||
|
||||
go logWorker() // 启动 goroutine 处理日志
|
||||
return nil
|
||||
}
|
||||
|
||||
// Log 直接记录日志的函数,带有时间戳
|
||||
func Log(customMessage string) {
|
||||
if logger != nil {
|
||||
timestamp := time.Now().Format("02/Jan/2006:15:04:05 -0700") // 使用自定义时间格式
|
||||
logger.Println(timestamp + " - " + customMessage)
|
||||
// logWorker 处理日志记录
|
||||
func logWorker() {
|
||||
for {
|
||||
select {
|
||||
case msg := <-logChannel:
|
||||
timestamp := time.Now().Format("02/Jan/2006:15:04:05 -0700")
|
||||
logger.Println(timestamp + " - " + msg) // 写入日志
|
||||
case <-quitChannel:
|
||||
return // 退出 goroutine
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Log 直接记录日志的函数
|
||||
func Log(customMessage string) {
|
||||
logChannel <- customMessage // 将日志消息发送到通道
|
||||
}
|
||||
|
||||
// Logw 用于格式化日志记录
|
||||
func Logw(format string, args ...interface{}) {
|
||||
message := fmt.Sprintf(format, args...) // 格式化消息
|
||||
|
|
@ -39,6 +55,9 @@ func Logw(format string, args ...interface{}) {
|
|||
// Close 关闭日志文件
|
||||
func Close() {
|
||||
if logFile != nil {
|
||||
logFile.Close()
|
||||
quitChannel <- struct{}{} // 通知日志 goroutine 退出
|
||||
if err := logFile.Close(); err != nil {
|
||||
Log("Error closing log file: " + err.Error()) // 记录关闭日志时的错误
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue