exportToCSV 导出为CSV格式
(events []*AuditEvent)
| 828 | |
| 829 | // exportToCSV 导出为CSV格式 |
| 830 | func (al *InMemoryAuditLog) exportToCSV(events []*AuditEvent) ([]byte, error) { |
| 831 | // 简化的CSV导出实现 |
| 832 | var csv string |
| 833 | csv += "ID,Timestamp,Type,Severity,UserID,Message\n" |
| 834 | |
| 835 | var csvSb834 strings.Builder |
| 836 | for _, event := range events { |
| 837 | csvSb834.WriteString(fmt.Sprintf("%s,%s,%s,%s,%s,\"%s\"\n", |
| 838 | event.ID, |
| 839 | event.Timestamp.Format(time.RFC3339), |
| 840 | event.Type, |
| 841 | event.Severity, |
| 842 | event.UserID, |
| 843 | event.Message, |
| 844 | )) |
| 845 | } |
| 846 | csv += csvSb834.String() |
| 847 | |
| 848 | return []byte(csv), nil |
| 849 | } |
| 850 | |
| 851 | // GetConfiguration 获取配置 |
| 852 | func (al *InMemoryAuditLog) GetConfiguration() *AuditConfiguration { |