package csvexport import ( "encoding/csv" "os" "github.com/1Panel-dev/1Panel/agent/app/dto" "github.com/1Panel-dev/1Panel/agent/constant" "github.com/1Panel-dev/1Panel/agent/i18n" ) func ExportSSHLogs(filename string, logs []dto.SSHHistory) error { file, err := os.Create(filename) if err != nil { return err } defer file.Close() writer := csv.NewWriter(file) defer writer.Flush() if err := writer.Write([]string{ i18n.GetMsgByKey("ExportIP"), i18n.GetMsgByKey("ExportArea"), i18n.GetMsgByKey("ExportPort"), i18n.GetMsgByKey("ExportAuthMode"), i18n.GetMsgByKey("ExportUser"), i18n.GetMsgByKey("ExportStatus"), i18n.GetMsgByKey("ExportDate"), }); err != nil { return err } for _, log := range logs { record := []string{ log.Address, log.Area, log.Port, log.AuthMode, log.User, log.Status, log.Date.Format(constant.DateTimeLayout), } if err := writer.Write(record); err != nil { return err } } return nil }