mirror of
				https://github.com/langhuihui/monibuca.git
				synced 2025-10-27 03:00:23 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package plugin_vmlog
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"log/slog"
 | |
| 	"net/http"
 | |
| 
 | |
| 	"github.com/VictoriaMetrics/VictoriaMetrics/app/vlinsert"
 | |
| 	"github.com/VictoriaMetrics/VictoriaMetrics/app/vlselect"
 | |
| 	"github.com/VictoriaMetrics/VictoriaMetrics/app/vlstorage"
 | |
| 	"github.com/VictoriaMetrics/VictoriaMetrics/lib/fs"
 | |
| 	"github.com/VictoriaMetrics/VictoriaMetrics/lib/logger"
 | |
| 	"m7s.live/v5"
 | |
| 	//"m7s.live/m7s/v5/plugin/logrotate/pb"
 | |
| )
 | |
| 
 | |
| // todo 配置
 | |
| type VmLogPlugin struct {
 | |
| 	m7s.Plugin
 | |
| 	//Path      string `default:"./logs" desc:"日志文件存放目录"`
 | |
| 	//Size      uint64 `default:"1048576" desc:"日志文件大小,单位:字节"`
 | |
| 	//Days      int    `default:"1" desc:"日志文件保留天数"`
 | |
| 	//Formatter string `default:"2006-01-02T15" desc:"日志文件名格式"`
 | |
| 	//MaxFiles  uint64 `default:"7" desc:"最大日志文件数量"`
 | |
| 	//Level     string `default:"info" desc:"日志级别"`
 | |
| 	handler slog.Handler
 | |
| }
 | |
| 
 | |
| var _ = m7s.InstallPlugin[VmLogPlugin]()
 | |
| 
 | |
| func init() {
 | |
| 	logger.Init()
 | |
| }
 | |
| 
 | |
| func (config *VmLogPlugin) OnInit() (err error) {
 | |
| 	vlstorage.Init()
 | |
| 	vlselect.Init()
 | |
| 	vlinsert.Init()
 | |
| 	config.handler, err = NewVmLogHandler(nil, nil)
 | |
| 	if err == nil {
 | |
| 		config.Server.LogHandler.Add(config.handler)
 | |
| 	}
 | |
| 	return
 | |
| }
 | |
| 
 | |
| func (config *VmLogPlugin) OnStop() {
 | |
| 	vlinsert.Stop()
 | |
| 	vlselect.Stop()
 | |
| 	vlstorage.Stop()
 | |
| 	fs.MustStopDirRemover()
 | |
| 	fmt.Print("VmLogPlugin OnClose")
 | |
| }
 | |
| 
 | |
| func (config *VmLogPlugin) OnExit() {
 | |
| 
 | |
| }
 | |
| 
 | |
| func (config *VmLogPlugin) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
 | |
| 	requestHandler(rw, r)
 | |
| }
 | 
