Skip to content

Commit fd4bae4

Browse files
committed
feat: added SingleLineSeparator field to MultilineSeparator struct
1 parent e836462 commit fd4bae4

File tree

2 files changed

+85
-31
lines changed

2 files changed

+85
-31
lines changed

logger.go

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,22 @@ type (
6060

6161
// DefaultLogMessageFormat is the default log message format
6262
var DefaultLogMessageFormat = LogMessageFormat{
63-
StatusSeparator: gologgerstrings.NewRepeatedContentSeparator(gologgerstrings.SpaceSeparator),
64-
DetailsSeparator: gologgerstrings.NewMultilineSeparator(gologgerstrings.NewLineSeparator, 1),
63+
StatusSeparator: gologgerstrings.NewRepeatedContentSeparator(gologgerstrings.SpaceSeparator),
64+
DetailsSeparator: gologgerstrings.NewMultilineSeparator(
65+
gologgerstrings.SpaceSeparator,
66+
gologgerstrings.NewLineSeparator,
67+
1,
68+
),
6569
}
6670

6771
// DefaultLogErrorFormat is the default log error format
6872
var DefaultLogErrorFormat = LogErrorFormat{
6973
StatusSeparator: gologgerstrings.NewRepeatedContentSeparator(gologgerstrings.SpaceSeparator),
70-
ErrorsSeparator: gologgerstrings.NewMultilineSeparator(gologgerstrings.NewLineSeparator, 1),
74+
ErrorsSeparator: gologgerstrings.NewMultilineSeparator(
75+
gologgerstrings.SpaceSeparator,
76+
gologgerstrings.NewLineSeparator,
77+
1,
78+
),
7179
}
7280

7381
// DefaultLoggerFormat is the default logger format
@@ -116,7 +124,8 @@ func CopyLogErrorFormat(format *LogErrorFormat) *LogErrorFormat {
116124

117125
// NewLoggerFormat creates a new logger format
118126
func NewLoggerFormat(
119-
nameSeparator *gologgerstrings.ContentSeparator, messageSeparator gologgerstrings.Separator,
127+
nameSeparator *gologgerstrings.ContentSeparator,
128+
messageSeparator gologgerstrings.Separator,
120129
) *LoggerFormat {
121130
return &LoggerFormat{
122131
NameSeparator: nameSeparator,
@@ -144,12 +153,20 @@ func NewLogMessage(
144153
format = &DefaultLogMessageFormat
145154
}
146155

147-
return &LogMessage{title: title, status: status, details: details, format: CopyLogMessageFormat(format)}
156+
return &LogMessage{
157+
title: title,
158+
status: status,
159+
details: details,
160+
format: CopyLogMessageFormat(format),
161+
}
148162
}
149163

150164
// FormatDetails gets the formatted details
151165
func (l *LogMessage) FormatDetails() string {
152-
return gologgerstrings.FormatStringArray(l.format.DetailsSeparator, &l.details)
166+
return gologgerstrings.FormatStringArray(
167+
l.format.DetailsSeparator,
168+
&l.details,
169+
)
153170
}
154171

155172
// String gets the string representation of a log message
@@ -158,7 +175,10 @@ func (l *LogMessage) String() string {
158175

159176
// Format status
160177
if l.status != gologgerstatus.StatusNone {
161-
formattedLog = append(formattedLog, gologgerstrings.FormatStatus(l.status, l.format.StatusSeparator))
178+
formattedLog = append(
179+
formattedLog,
180+
gologgerstrings.FormatStatus(l.status, l.format.StatusSeparator),
181+
)
162182
}
163183

164184
// Add title
@@ -175,13 +195,21 @@ func (l *LogMessage) String() string {
175195
}
176196

177197
// NewLogError creates a new log error
178-
func NewLogError(title string, format *LogErrorFormat, errors ...error) *LogError {
198+
func NewLogError(
199+
title string,
200+
format *LogErrorFormat,
201+
errors ...error,
202+
) *LogError {
179203
// Check if the format is nil
180204
if format == nil {
181205
format = &DefaultLogErrorFormat
182206
}
183207

184-
return &LogError{title: title, errors: errors, format: CopyLogErrorFormat(format)}
208+
return &LogError{
209+
title: title,
210+
errors: errors,
211+
format: CopyLogErrorFormat(format),
212+
}
185213
}
186214

187215
// FormatErrors gets the formatted errors
@@ -196,7 +224,10 @@ func (l *LogError) String() string {
196224
// Format status
197225
formattedLog = append(
198226
formattedLog,
199-
gologgerstrings.FormatStatus(gologgerstatus.StatusFailed, l.format.StatusSeparator),
227+
gologgerstrings.FormatStatus(
228+
gologgerstatus.StatusFailed,
229+
l.format.StatusSeparator,
230+
),
200231
)
201232

202233
// Add message
@@ -233,7 +264,10 @@ func (d *DefaultLogger) FormatLogMessage(logMessage *LogMessage) string {
233264
return d.formattedName
234265
}
235266

236-
return strings.Join([]string{d.formattedName, logMessage.String()}, string(d.format.MessageSeparator))
267+
return strings.Join(
268+
[]string{d.formattedName, logMessage.String()},
269+
string(d.format.MessageSeparator),
270+
)
237271
}
238272

239273
// LogMessage logs a message

strings/strings.go

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ type (
1717

1818
// MultilineSeparator is the separator for the multiline content
1919
MultilineSeparator struct {
20-
LineSeparator Separator
21-
TabSize int
20+
SingleLineSeparator Separator
21+
LineSeparator Separator
22+
TabSize int
2223
}
2324
)
2425

@@ -44,10 +45,14 @@ func NewRepeatedContentSeparator(separator Separator) *ContentSeparator {
4445
}
4546

4647
// NewMultilineSeparator creates a new multiline separator
47-
func NewMultilineSeparator(lineSeparator Separator, tabSize int) *MultilineSeparator {
48+
func NewMultilineSeparator(
49+
singleLineSeparator, lineSeparator Separator,
50+
tabSize int,
51+
) *MultilineSeparator {
4852
return &MultilineSeparator{
49-
LineSeparator: lineSeparator,
50-
TabSize: tabSize,
53+
SingleLineSeparator: singleLineSeparator,
54+
LineSeparator: lineSeparator,
55+
TabSize: tabSize,
5156
}
5257
}
5358

@@ -57,9 +62,15 @@ func (m *MultilineSeparator) TabSeparator() Separator {
5762
}
5863

5964
// AddCharacters adds some characters to a string
60-
func AddCharacters(content, leftCharacters, rightCharacters string, contentSeparator *ContentSeparator) string {
65+
func AddCharacters(
66+
content, leftCharacters, rightCharacters string,
67+
contentSeparator *ContentSeparator,
68+
) string {
6169
if contentSeparator == nil {
62-
return strings.Join([]string{leftCharacters, content, rightCharacters}, "")
70+
return strings.Join(
71+
[]string{leftCharacters, content, rightCharacters},
72+
"",
73+
)
6374
}
6475

6576
return strings.Join(
@@ -89,33 +100,36 @@ func AddParentheses(name string, contentSeparator *ContentSeparator) string {
89100
}
90101

91102
// FormatStatus gets the formatted status
92-
func FormatStatus(status gologgerstatus.Status, contentSeparator *ContentSeparator) string {
103+
func FormatStatus(
104+
status gologgerstatus.Status,
105+
contentSeparator *ContentSeparator,
106+
) string {
93107
return AddBrackets(status.String(), contentSeparator)
94108
}
95109

96110
// FormatStringArray returns a string with all the strings in the array formatted
97-
func FormatStringArray(multilineSeparator *MultilineSeparator, stringArray *[]string) string {
111+
func FormatStringArray(
112+
multilineSeparator *MultilineSeparator,
113+
stringArray *[]string,
114+
) string {
98115
if stringArray == nil || len(*stringArray) == 0 {
99116
return ""
100117
}
101118

102-
// Separators
103-
lineSeparator := multilineSeparator.LineSeparator
104-
tabSeparator := multilineSeparator.TabSeparator()
105-
lineAndTabSeparator := lineSeparator + tabSeparator
106-
107119
// Check if there is only one element
108120
if len(*stringArray) == 1 {
109121
return AddBrackets(
110122
(*stringArray)[0],
111-
NewContentSeparator(
112-
lineAndTabSeparator,
113-
lineSeparator,
114-
),
123+
NewRepeatedContentSeparator(multilineSeparator.SingleLineSeparator),
115124
)
116125
} else {
117126
var formattedDetails strings.Builder
118127

128+
// Separators
129+
lineSeparator := multilineSeparator.LineSeparator
130+
tabSeparator := multilineSeparator.TabSeparator()
131+
lineAndTabSeparator := lineSeparator + tabSeparator
132+
119133
// Add formatted details
120134
formattedDetails.WriteString(string(tabSeparator))
121135
for i, str := range *stringArray {
@@ -126,7 +140,10 @@ func FormatStringArray(multilineSeparator *MultilineSeparator, stringArray *[]st
126140
}
127141
}
128142

129-
return AddBrackets(formattedDetails.String(), NewRepeatedContentSeparator(lineSeparator))
143+
return AddBrackets(
144+
formattedDetails.String(),
145+
NewRepeatedContentSeparator(lineSeparator),
146+
)
130147
}
131148
}
132149

@@ -145,7 +162,10 @@ func MapErrorArrayToStringArray(errorArray *[]error) *[]string {
145162
}
146163

147164
// FormatErrorArray returns a string with all the errors in the array formatted
148-
func FormatErrorArray(multilineSeparator *MultilineSeparator, errorArray *[]error) string {
165+
func FormatErrorArray(
166+
multilineSeparator *MultilineSeparator,
167+
errorArray *[]error,
168+
) string {
149169
mappedErrorArray := MapErrorArrayToStringArray(errorArray)
150170
return FormatStringArray(multilineSeparator, mappedErrorArray)
151171
}

0 commit comments

Comments
 (0)