Versions in this module Expand all Collapse all v1 v1.0.0 Feb 3, 2026 Changes in this version + var AvailableFormatVariables = []FormatVariable + func ValidateFormat(format string) []string + type AccessEntry struct + BytesSent int64 + Connection int64 + ConnectionRequests int + Host string + IP string + Latency int64 + Method string + Path string + Protocol string + QueryString string + Referer string + RemoteUser string + RequestID string + SSLCipher string + SSLProtocol string + Size int64 + Status int + Timestamp time.Time + UserAgent string + XForwardedFor string + XRealIP string + type AccessLogger struct + func NewAccessLogger(path string) *AccessLogger + func (l *AccessLogger) Close() error + func (l *AccessLogger) GetCustomFormat() string + func (l *AccessLogger) Log(entry AccessEntry) + func (l *AccessLogger) LogRequest(r *http.Request, status int, size int64, latency time.Duration) + func (l *AccessLogger) LogRequestWithID(r *http.Request, status int, size int64, latency time.Duration, ...) + func (l *AccessLogger) Rotate() error + func (l *AccessLogger) SetCustomFormat(format string) + func (l *AccessLogger) SetFormat(format string) + type AuditAction string + const AuditActionAdminCreated + const AuditActionAdminDeleted + const AuditActionAdminInvite + const AuditActionBackupCreate + const AuditActionBackupDelete + const AuditActionBackupFailed + const AuditActionBackupRestore + const AuditActionBruteForceDetected + const AuditActionCSRFFailure + const AuditActionClusterModeChanged + const AuditActionClusterNodeFailed + const AuditActionClusterNodeJoined + const AuditActionClusterNodeRemoved + const AuditActionClusterTokenGen + const AuditActionConfigAdminGroups + const AuditActionConfigBrandingUpdate + const AuditActionConfigChange + const AuditActionConfigLDAPUpdated + const AuditActionConfigOIDCAdded + const AuditActionConfigOIDCRemoved + const AuditActionConfigSMTPUpdated + const AuditActionConfigSSLExpired + const AuditActionConfigSSLUpdated + const AuditActionConfigTorRegen + const AuditActionCountryBlocked + const AuditActionEngineToggle + const AuditActionIPBlocked + const AuditActionIPUnblocked + const AuditActionInvalidToken + const AuditActionLogin + const AuditActionLoginFailed + const AuditActionLogout + const AuditActionMFADisabled + const AuditActionMFAEnabled + const AuditActionMaintenanceEntered + const AuditActionMaintenanceExited + const AuditActionOrgBillingUpdated + const AuditActionOrgCreated + const AuditActionOrgDeleted + const AuditActionOrgMemberInvited + const AuditActionOrgMemberJoined + const AuditActionOrgMemberLeft + const AuditActionOrgMemberRemoved + const AuditActionOrgOwnershipTransfer + const AuditActionOrgRoleChanged + const AuditActionOrgRoleCreated + const AuditActionOrgRoleDeleted + const AuditActionOrgRoleUpdated + const AuditActionOrgSettingsUpdated + const AuditActionOrgTokenCreated + const AuditActionOrgTokenRevoked + const AuditActionPasswordChanged + const AuditActionPermissionChange + const AuditActionRateLimitExceeded + const AuditActionReload + const AuditActionSchedulerTaskFail + const AuditActionSchedulerTaskRun + const AuditActionServerStarted + const AuditActionServerStopped + const AuditActionServerUpdated + const AuditActionSessionExpired + const AuditActionSessionRevoked + const AuditActionSuspiciousActivity + const AuditActionTokenCreate + const AuditActionTokenExpired + const AuditActionTokenRegenerated + const AuditActionTokenRevoke + const AuditActionTokenUsed + const AuditActionUserCreate + const AuditActionUserDelete + const AuditActionUserEmailVerified + const AuditActionUserLogin + const AuditActionUserLoginFailed + const AuditActionUserLogout + const AuditActionUserMFADisabled + const AuditActionUserMFAEnabled + const AuditActionUserPasswordChanged + const AuditActionUserPasswordResetDone + const AuditActionUserPasswordResetReq + const AuditActionUserRecoveryKeyUsed + const AuditActionUserRegistered + const AuditActionUserRoleChanged + const AuditActionUserSuspended + const AuditActionUserUnsuspended + type AuditActor struct + ID string + IP string + Type string + UserAgent string + Username string + type AuditCategory string + const AuditCategoryAdmin + const AuditCategoryAuth + const AuditCategoryCluster + const AuditCategoryConfig + const AuditCategoryData + const AuditCategoryOrganization + const AuditCategorySecurity + const AuditCategorySystem + const AuditCategoryTokens + const AuditCategoryUser + type AuditEntry struct + Actor AuditActor + Category AuditCategory + Details map[string]interface{} + Event AuditAction + ID string + NodeID string + Reason string + Result string + Severity AuditSeverity + Target *AuditTarget + Time time.Time + type AuditExportFormat string + const AuditExportCSV + const AuditExportJSON + type AuditLogger struct + func NewAuditLogger(path string) *AuditLogger + func (l *AuditLogger) CleanupAuditLogs(policy AuditRetentionPolicy) (int, error) + func (l *AuditLogger) Close() error + func (l *AuditLogger) ExportAuditLogs(opts AuditQueryOptions, format AuditExportFormat, w io.Writer) error + func (l *AuditLogger) GetAuditStats() (*AuditStats, error) + func (l *AuditLogger) Log(entry AuditEntry) + func (l *AuditLogger) Log2FADisable(actor, ip, targetUser string) + func (l *AuditLogger) Log2FAEnable(user, ip string) + func (l *AuditLogger) LogAdminCreated(actor, ip, newAdmin string) + func (l *AuditLogger) LogAdminDeleted(actor, ip, deletedAdmin string) + func (l *AuditLogger) LogBackupCreate(user, ip, filename string) + func (l *AuditLogger) LogBackupDelete(actor, ip, filename string) + func (l *AuditLogger) LogBackupFailed(actor, ip, reason string) + func (l *AuditLogger) LogBackupRestore(user, ip, filename string, success bool) + func (l *AuditLogger) LogBruteForceDetected(ip, path string, attempts int) + func (l *AuditLogger) LogCSRFFailure(ip, path string) + func (l *AuditLogger) LogClusterNodeFailed(nodeID, reason string) + func (l *AuditLogger) LogClusterNodeJoined(nodeID, nodeAddress string) + func (l *AuditLogger) LogClusterNodeRemoved(actor, ip, nodeID, reason string) + func (l *AuditLogger) LogConfigChange(user, ip, resource, details string) + func (l *AuditLogger) LogConfigUpdated(actor, ip, configSection, field string, oldValue, newValue interface{}) + func (l *AuditLogger) LogEngineToggle(user, ip, engine string, enabled bool) + func (l *AuditLogger) LogEvent(event AuditAction, category AuditCategory, severity AuditSeverity, ...) + func (l *AuditLogger) LogIPBlocked(actor, ip, blockedIP, reason string) + func (l *AuditLogger) LogIPUnblocked(actor, ip, unblockedIP string) + func (l *AuditLogger) LogInvalidToken(ip, path, tokenType string) + func (l *AuditLogger) LogLogin(user, ip string, success bool) + func (l *AuditLogger) LogLoginFailed(user, ip, reason string) + func (l *AuditLogger) LogLogout(user, ip string) + func (l *AuditLogger) LogMaintenanceEntered(actor, ip, reason string) + func (l *AuditLogger) LogMaintenanceExited(actor, ip string) + func (l *AuditLogger) LogPasswordChanged(user, ip string, selfChange bool) + func (l *AuditLogger) LogRateLimitExceeded(ip, path string, limit int) + func (l *AuditLogger) LogReload(user, ip string, success bool, details string) + func (l *AuditLogger) LogSMTPUpdated(actor, ip string) + func (l *AuditLogger) LogSSLUpdated(actor, ip, domain string) + func (l *AuditLogger) LogSchedulerTaskFailed(taskName, reason string) + func (l *AuditLogger) LogSchedulerTaskManualRun(actor, ip, taskName string, success bool) + func (l *AuditLogger) LogServerStarted(version, nodeID string) + func (l *AuditLogger) LogServerStopped(reason, nodeID string) + func (l *AuditLogger) LogSessionExpired(user, ip, sessionID string) + func (l *AuditLogger) LogSessionRevoked(actor, ip, targetUser, sessionID string) + func (l *AuditLogger) LogTokenCreate(user, ip, tokenName string) + func (l *AuditLogger) LogTokenRegenerated(user, ip, tokenName string) + func (l *AuditLogger) LogTokenRevoke(user, ip, tokenName string) + func (l *AuditLogger) LogUserCreate(actor, ip, targetUser string) + func (l *AuditLogger) LogUserDelete(actor, ip, targetUser string) + func (l *AuditLogger) LogUserRoleChanged(actor, ip, targetUser, oldRole, newRole string) + func (l *AuditLogger) LogUserSuspended(actor, ip, targetUser, reason string) + func (l *AuditLogger) LogUserUnsuspended(actor, ip, targetUser string) + func (l *AuditLogger) QueryAuditLogs(opts AuditQueryOptions) (*AuditQueryResult, error) + func (l *AuditLogger) Rotate() error + type AuditQueryOptions struct + ActorIP string + ActorUsername string + Category AuditCategory + EndTime time.Time + Event AuditAction + Limit int + Offset int + Result string + Severity AuditSeverity + StartTime time.Time + TargetName string + TargetType string + type AuditQueryResult struct + Count int + DurationMs int64 + Entries []AuditEntry + Total int + type AuditRetentionPolicy struct + MaxAge time.Duration + MaxEntries int + PreserveCritical bool + func DefaultAuditRetentionPolicy() AuditRetentionPolicy + type AuditSeverity string + const AuditSeverityCritical + const AuditSeverityError + const AuditSeverityInfo + const AuditSeverityWarning + type AuditStats struct + ByCategory map[AuditCategory]int + ByResult map[string]int + BySeverity map[AuditSeverity]int + NewestEntry time.Time + OldestEntry time.Time + TotalEntries int + type AuditTarget struct + ID string + Name string + Type string + type DebugEntry struct + Fields map[string]interface{} + File string + Function string + Level string + Line int + Message string + Timestamp time.Time + type DebugLogger struct + func NewDebugLogger(path string) *DebugLogger + func (l *DebugLogger) Close() error + func (l *DebugLogger) Debug(msg string, fields ...map[string]interface{}) + func (l *DebugLogger) DebugWithCaller(msg string, file string, line int, function string, ...) + func (l *DebugLogger) Disable() + func (l *DebugLogger) Enable() + func (l *DebugLogger) IsEnabled() bool + func (l *DebugLogger) Log(entry DebugEntry) + func (l *DebugLogger) Rotate() error + func (l *DebugLogger) SetFormat(format string) + func (l *DebugLogger) SetStdout(enabled bool) + func (l *DebugLogger) Trace(msg string, fields ...map[string]interface{}) + type ErrorEntry struct + Error string + Fields map[string]interface{} + File string + Level string + Line int + Message string + Stack string + Timestamp time.Time + type ErrorLogger struct + func NewErrorLogger(path string) *ErrorLogger + func (l *ErrorLogger) Close() error + func (l *ErrorLogger) Error(msg string, err error, fields ...map[string]interface{}) + func (l *ErrorLogger) ErrorWithStack(msg string, err error, stack string, fields ...map[string]interface{}) + func (l *ErrorLogger) Fatal(msg string, err error, fields ...map[string]interface{}) + func (l *ErrorLogger) Log(entry ErrorEntry) + func (l *ErrorLogger) Rotate() error + func (l *ErrorLogger) SetFormat(format string) + func (l *ErrorLogger) SetStdout(enabled bool) + type FormatVariable struct + Description string + Example string + Name string + type LineScanner struct + func NewLineScanner(r io.Reader) *LineScanner + func (s *LineScanner) Err() error + func (s *LineScanner) Scan() bool + func (s *LineScanner) Text() string + type LogLevel int + const LevelDebug + const LevelError + const LevelFatal + const LevelInfo + const LevelWarn + func (l LogLevel) String() string + type LogType string + const LogTypeAccess + const LogTypeAudit + const LogTypeDebug + const LogTypeError + const LogTypeSecurity + const LogTypeServer + type Manager struct + func NewManager(logDir string) *Manager + func (m *Manager) Access() *AccessLogger + func (m *Manager) Audit() *AuditLogger + func (m *Manager) Close() error + func (m *Manager) Debug() *DebugLogger + func (m *Manager) Error() *ErrorLogger + func (m *Manager) RotateAll() error + func (m *Manager) Security() *SecurityLogger + func (m *Manager) Server() *ServerLogger + type SecurityEntry struct + Details string + Event SecurityEvent + IP string + Path string + Timestamp time.Time + User string + type SecurityEvent string + const SecurityEventBlocked + const SecurityEventBruteForce + const SecurityEventCSRFViolation + const SecurityEventInvalidToken + const SecurityEventLoginFailed + const SecurityEventLoginSuccess + const SecurityEventRateLimited + const SecurityEventSuspicious + type SecurityLogger struct + func NewSecurityLogger(path string) *SecurityLogger + func (l *SecurityLogger) Close() error + func (l *SecurityLogger) Log(entry SecurityEntry) + func (l *SecurityLogger) LogBlocked(ip, path, reason string) + func (l *SecurityLogger) LogBruteForce(ip, path string, attempts int) + func (l *SecurityLogger) LogCSRFViolation(ip, path string) + func (l *SecurityLogger) LogInvalidToken(ip, path string) + func (l *SecurityLogger) LogLoginFailed(ip, user, path string) + func (l *SecurityLogger) LogLoginSuccess(ip, user string) + func (l *SecurityLogger) LogRateLimited(ip, path string) + func (l *SecurityLogger) LogSuspicious(ip, path, details string) + func (l *SecurityLogger) Rotate() error + type ServerEntry struct + Fields map[string]interface{} + Level string + Message string + Timestamp time.Time + type ServerLogger struct + func NewServerLogger(path string) *ServerLogger + func (l *ServerLogger) Close() error + func (l *ServerLogger) Debug(msg string, fields ...map[string]interface{}) + func (l *ServerLogger) Error(msg string, fields ...map[string]interface{}) + func (l *ServerLogger) Fatal(msg string, fields ...map[string]interface{}) + func (l *ServerLogger) Info(msg string, fields ...map[string]interface{}) + func (l *ServerLogger) Rotate() error + func (l *ServerLogger) SetFormat(format string) + func (l *ServerLogger) SetLevel(level LogLevel) + func (l *ServerLogger) SetStdout(enabled bool) + func (l *ServerLogger) Warn(msg string, fields ...map[string]interface{}) + func (l *ServerLogger) Writer() io.Writer