diff options
| author | Paul Buetow <paul@buetow.org> | 2026-01-29 21:39:06 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-01-29 21:39:06 +0200 |
| commit | 599bdb74efcc97e86ce6023c1ae8265b1c2ff33b (patch) | |
| tree | 6642a7401de622efc90947586f4db7a3e6ccd75d /internal/mapr/logformat | |
| parent | a32f028487c2e0b9e3144cf82d4153d1cd4a5243 (diff) | |
refactor: improve Go best practices compliance
- Add explicit interface satisfaction checks (var _ Interface = (*Type)(nil)) for compile-time verification:
- TurboWriter implementations (DirectTurboWriter, TurboChannelWriter)
- Processor implementations (GrepLineProcessor, ChannellessLineProcessor)
- Parser implementations (genericParser, csvParser, genericKVParser, custom parsers, mimecastParser)
- Logger implementations (file, stdout)
- Handler implementations (ServerHandler, ClientHandler)
- Connector implementations (Serverless, ServerConnection)
- SSH callback implementations (KnownHostsCallback)
- Improve error handling with context wrapping (%w):
- SSH operations: GeneratePrivateRSAKey, Agent
- Query parsing: Query.parse
- SSH client connections: dial, session, handle methods
- Fix receiver consistency:
- Convert Query.String() from value to pointer receiver
- Convert Outfile.String() from value to pointer receiver
- Convert all KnownHostsCallback methods to pointer receivers
- Convert mapCommand.Start() to pointer receiver
- Reorganize file structure for better clarity:
- internal/io/dlog/dlog.go: Move type definition before public functions
- internal/mapr/token.go: Reorganize helper functions after public ones
- Add documentation comments:
- Query.String() method
- Outfile.String() method
- Regex.String() method
- Improve config variable documentation
All unit tests and integration tests pass.
Amp-Thread-ID: https://ampcode.com/threads/T-019c0b08-0eeb-705d-a1f7-31bb764b659a
Co-authored-by: Amp <amp@ampcode.com>
Diffstat (limited to 'internal/mapr/logformat')
| -rw-r--r-- | internal/mapr/logformat/csv.go | 2 | ||||
| -rw-r--r-- | internal/mapr/logformat/custom1.go | 2 | ||||
| -rw-r--r-- | internal/mapr/logformat/custom2.go | 2 | ||||
| -rw-r--r-- | internal/mapr/logformat/generic.go | 2 | ||||
| -rw-r--r-- | internal/mapr/logformat/generickv.go | 2 | ||||
| -rw-r--r-- | internal/mapr/logformat/mimecast.go | 2 |
6 files changed, 12 insertions, 0 deletions
diff --git a/internal/mapr/logformat/csv.go b/internal/mapr/logformat/csv.go index ea85ca9..b8f565c 100644 --- a/internal/mapr/logformat/csv.go +++ b/internal/mapr/logformat/csv.go @@ -13,6 +13,8 @@ type csvParser struct { hasHeader bool } +var _ Parser = (*csvParser)(nil) + func newCSVParser(hostname, timeZoneName string, timeZoneOffset int) (*csvParser, error) { defaultParser, err := newDefaultParser(hostname, timeZoneName, timeZoneOffset) if err != nil { diff --git a/internal/mapr/logformat/custom1.go b/internal/mapr/logformat/custom1.go index 7229f3e..05e0867 100644 --- a/internal/mapr/logformat/custom1.go +++ b/internal/mapr/logformat/custom1.go @@ -7,6 +7,8 @@ var ErrCustom1NotImplemented error = errors.New("custom1 log format is not imple // Template for creating a custom log format. type custom1Parser struct{} +var _ Parser = (*custom1Parser)(nil) + func newCustom1Parser(hostname, timeZoneName string, timeZoneOffset int) (*custom1Parser, error) { return &custom1Parser{}, ErrCustom1NotImplemented } diff --git a/internal/mapr/logformat/custom2.go b/internal/mapr/logformat/custom2.go index 262c721..cc8d5b9 100644 --- a/internal/mapr/logformat/custom2.go +++ b/internal/mapr/logformat/custom2.go @@ -7,6 +7,8 @@ var ErrCustom2NotImplemented error = errors.New("custom2 log format is not imple // Template for creating a custom log format. type custom2Parser struct{} +var _ Parser = (*custom2Parser)(nil) + func newCustom2Parser(hostname, timeZoneName string, timeZoneOffset int) (*custom2Parser, error) { return &custom2Parser{}, ErrCustom2NotImplemented } diff --git a/internal/mapr/logformat/generic.go b/internal/mapr/logformat/generic.go index 32d9b4a..1350eff 100644 --- a/internal/mapr/logformat/generic.go +++ b/internal/mapr/logformat/generic.go @@ -4,6 +4,8 @@ type genericParser struct { defaultParser } +var _ Parser = (*genericParser)(nil) + func newGenericParser(hostname, timeZoneName string, timeZoneOffset int) (*genericParser, error) { defaultParser, err := newDefaultParser(hostname, timeZoneName, timeZoneOffset) if err != nil { diff --git a/internal/mapr/logformat/generickv.go b/internal/mapr/logformat/generickv.go index 9c3de92..bd9aad5 100644 --- a/internal/mapr/logformat/generickv.go +++ b/internal/mapr/logformat/generickv.go @@ -10,6 +10,8 @@ type genericKVParser struct { defaultParser } +var _ Parser = (*genericKVParser)(nil) + func newGenericKVParser(hostname, timeZoneName string, timeZoneOffset int) (*genericKVParser, error) { defaultParser, err := newDefaultParser(hostname, timeZoneName, timeZoneOffset) if err != nil { diff --git a/internal/mapr/logformat/mimecast.go b/internal/mapr/logformat/mimecast.go index cf6b333..84e1e93 100644 --- a/internal/mapr/logformat/mimecast.go +++ b/internal/mapr/logformat/mimecast.go @@ -10,6 +10,8 @@ var ErrMimecastNotAvailable error = errors.New("The mimecast logformat is not av type mimecastParser struct{} +var _ Parser = (*mimecastParser)(nil) + func newMimecastParser(hostname, timeZoneName string, timeZoneOffset int) (*mimecastParser, error) { return &mimecastParser{}, ErrMimecastNotAvailable } |
