NewRequestLogger creates a new request logger with the specified log file
(logFilePath string)
| 39 | |
| 40 | // NewRequestLogger creates a new request logger with the specified log file |
| 41 | func NewRequestLogger(logFilePath string) (*RequestLogger, error) { |
| 42 | // Ensure logs directory exists |
| 43 | if err := os.MkdirAll("logs", 0755); err != nil { |
| 44 | return nil, fmt.Errorf("failed to create logs directory: %w", err) |
| 45 | } |
| 46 | |
| 47 | // Create or open the log file |
| 48 | logFile, err := os.Create(logFilePath) |
| 49 | if err != nil { |
| 50 | return nil, fmt.Errorf("failed to create log file: %w", err) |
| 51 | } |
| 52 | |
| 53 | return &RequestLogger{ |
| 54 | logFile: logFile, |
| 55 | }, nil |
| 56 | } |
| 57 | |
| 58 | // LogRequest logs a successful request/response pair |
| 59 | func (rl *RequestLogger) LogRequest(testCase string, iteration int, requestParams openai.ChatCompletionNewParams, response *openai.ChatCompletion, baseURL string) error { |