feat(cmd/joj3): add runID to log
This commit is contained in:
		
							parent
							
								
									028fd11ab5
								
							
						
					
					
						commit
						d56e3e5ebc
					
				|  | @ -2,8 +2,10 @@ package main | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
|  | 	"fmt" | ||||||
| 	"log/slog" | 	"log/slog" | ||||||
| 	"os" | 	"os" | ||||||
|  | 	"time" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var runningTest bool | var runningTest bool | ||||||
|  | @ -12,6 +14,12 @@ type multiHandler struct { | ||||||
| 	handlers []slog.Handler | 	handlers []slog.Handler | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | var runID string | ||||||
|  | 
 | ||||||
|  | func init() { | ||||||
|  | 	runID = fmt.Sprintf("%d-%d", time.Now().UnixNano(), os.Getpid()) | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func (h *multiHandler) Enabled(ctx context.Context, level slog.Level) bool { | func (h *multiHandler) Enabled(ctx context.Context, level slog.Level) bool { | ||||||
| 	for _, handler := range h.handlers { | 	for _, handler := range h.handlers { | ||||||
| 		if handler.Enabled(ctx, level) { | 		if handler.Enabled(ctx, level) { | ||||||
|  | @ -69,7 +77,7 @@ func setupSlog(logPath string) error { | ||||||
| 	// Stderr handler for info logs and above
 | 	// Stderr handler for info logs and above
 | ||||||
| 	stderrHandler := slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{ | 	stderrHandler := slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{ | ||||||
| 		Level: stderrLogLevel, | 		Level: stderrLogLevel, | ||||||
| 	}) | 	}).WithAttrs([]slog.Attr{slog.String("runID", runID)}) | ||||||
| 	handlers = append(handlers, stderrHandler) | 	handlers = append(handlers, stderrHandler) | ||||||
| 	// Create a multi-handler
 | 	// Create a multi-handler
 | ||||||
| 	multiHandler := &multiHandler{handlers: handlers} | 	multiHandler := &multiHandler{handlers: handlers} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user