1
1
package go_logger
2
2
3
3
import (
4
+ gologgerseparator "github.com/ralvarezdev/go-logger/separator"
4
5
gologgerstatus "github.com/ralvarezdev/go-logger/status"
5
6
gologgerstrings "github.com/ralvarezdev/go-logger/strings"
6
7
"log"
7
8
"strings"
8
9
)
9
10
11
+ var (
12
+ // StatusSeparator is the status separator
13
+ StatusSeparator = gologgerseparator .NewRepeatedContent (gologgerseparator .Space )
14
+
15
+ // ErrorsSeparator is the errors separator
16
+ ErrorsSeparator = gologgerseparator .NewMultiline (
17
+ gologgerseparator .Space ,
18
+ gologgerseparator .NewLine ,
19
+ 1 ,
20
+ )
21
+
22
+ // DetailsSeparator is the details separator
23
+ DetailsSeparator = gologgerseparator .NewMultiline (
24
+ gologgerseparator .Space ,
25
+ gologgerseparator .NewLine ,
26
+ 1 ,
27
+ )
28
+
29
+ // NameSeparator is the name separator
30
+ NameSeparator = gologgerseparator .NewRepeatedContent (gologgerseparator .Space )
31
+
32
+ // MessageSeparator is the message separator
33
+ MessageSeparator = gologgerseparator .Space
34
+ )
35
+
10
36
type (
11
37
// Log interface
12
38
Log interface {
@@ -18,24 +44,12 @@ type (
18
44
title string
19
45
details []string
20
46
status gologgerstatus.Status
21
- format * LogMessageFormat
22
- }
23
-
24
- LogMessageFormat struct {
25
- StatusSeparator * gologgerstrings.ContentSeparator
26
- DetailsSeparator * gologgerstrings.MultilineSeparator
27
47
}
28
48
29
49
// LogError struct
30
50
LogError struct {
31
51
title string
32
52
errors []error
33
- format * LogErrorFormat
34
- }
35
-
36
- LogErrorFormat struct {
37
- StatusSeparator * gologgerstrings.ContentSeparator
38
- ErrorsSeparator * gologgerstrings.MultilineSeparator
39
53
}
40
54
41
55
// Logger is an interface for logging messages
@@ -44,127 +58,30 @@ type (
44
58
LogError (logError * LogError )
45
59
}
46
60
47
- // LoggerFormat struct
48
- LoggerFormat struct {
49
- NameSeparator * gologgerstrings.ContentSeparator
50
- MessageSeparator gologgerstrings.Separator
51
- }
52
-
53
61
// DefaultLogger is a logger that logs messages
54
62
DefaultLogger struct {
55
63
name string
56
64
formattedName string
57
- format * LoggerFormat
58
- }
59
- )
60
-
61
- // NewLogMessageFormat creates a new log message format
62
- func NewLogMessageFormat (
63
- statusSeparator * gologgerstrings.ContentSeparator ,
64
- detailsSeparator * gologgerstrings.MultilineSeparator ,
65
- ) * LogMessageFormat {
66
- return & LogMessageFormat {
67
- StatusSeparator : statusSeparator ,
68
- DetailsSeparator : detailsSeparator ,
69
- }
70
- }
71
-
72
- // CopyLogMessageFormat creates a copy of a log message format
73
- func CopyLogMessageFormat (format * LogMessageFormat ) * LogMessageFormat {
74
- return & LogMessageFormat {
75
- StatusSeparator : format .StatusSeparator ,
76
- DetailsSeparator : format .DetailsSeparator ,
77
- }
78
- }
79
-
80
- // DefaultLogMessageFormat is the default log message format
81
- var DefaultLogMessageFormat = NewLogMessageFormat (
82
- gologgerstrings .NewRepeatedContentSeparator (gologgerstrings .SpaceSeparator ),
83
- gologgerstrings .NewMultilineSeparator (
84
- gologgerstrings .SpaceSeparator ,
85
- gologgerstrings .NewLineSeparator ,
86
- 1 ,
87
- ),
88
- )
89
-
90
- // NewLogErrorFormat creates a new log error format
91
- func NewLogErrorFormat (
92
- statusSeparator * gologgerstrings.ContentSeparator ,
93
- errorsSeparator * gologgerstrings.MultilineSeparator ,
94
- ) * LogErrorFormat {
95
- return & LogErrorFormat {
96
- StatusSeparator : statusSeparator ,
97
- ErrorsSeparator : errorsSeparator ,
98
- }
99
- }
100
-
101
- // CopyLogErrorFormat creates a copy of a log error format
102
- func CopyLogErrorFormat (format * LogErrorFormat ) * LogErrorFormat {
103
- return & LogErrorFormat {
104
- StatusSeparator : format .StatusSeparator ,
105
- ErrorsSeparator : format .ErrorsSeparator ,
106
- }
107
- }
108
-
109
- // DefaultLogErrorFormat is the default log error format
110
- var DefaultLogErrorFormat = NewLogErrorFormat (
111
- gologgerstrings .NewRepeatedContentSeparator (gologgerstrings .SpaceSeparator ),
112
- gologgerstrings .NewMultilineSeparator (
113
- gologgerstrings .SpaceSeparator ,
114
- gologgerstrings .NewLineSeparator ,
115
- 1 ,
116
- ),
117
- )
118
-
119
- // NewLoggerFormat creates a new logger format
120
- func NewLoggerFormat (
121
- nameSeparator * gologgerstrings.ContentSeparator ,
122
- messageSeparator gologgerstrings.Separator ,
123
- ) * LoggerFormat {
124
- return & LoggerFormat {
125
- NameSeparator : nameSeparator ,
126
- MessageSeparator : messageSeparator ,
127
- }
128
- }
129
-
130
- // CopyLoggerFormat creates a copy of a logger format
131
- func CopyLoggerFormat (format * LoggerFormat ) * LoggerFormat {
132
- return & LoggerFormat {
133
- NameSeparator : format .NameSeparator ,
134
- MessageSeparator : format .MessageSeparator ,
135
65
}
136
- }
137
-
138
- // DefaultLoggerFormat is the default logger format
139
- var DefaultLoggerFormat = NewLoggerFormat (
140
- gologgerstrings .NewRepeatedContentSeparator (gologgerstrings .SpaceSeparator ),
141
- gologgerstrings .SpaceSeparator ,
142
66
)
143
67
144
68
// NewLogMessage creates a new log message
145
69
func NewLogMessage (
146
70
title string ,
147
71
status gologgerstatus.Status ,
148
- format * LogMessageFormat ,
149
72
details ... string ,
150
73
) * LogMessage {
151
- // Check if the format is nil
152
- if format == nil {
153
- format = DefaultLogMessageFormat
154
- }
155
-
156
74
return & LogMessage {
157
75
title : title ,
158
76
status : status ,
159
77
details : details ,
160
- format : CopyLogMessageFormat (format ),
161
78
}
162
79
}
163
80
164
81
// FormatDetails gets the formatted details
165
82
func (l * LogMessage ) FormatDetails () string {
166
83
return gologgerstrings .FormatStringArray (
167
- l . format . DetailsSeparator ,
84
+ DetailsSeparator ,
168
85
& l .details ,
169
86
)
170
87
}
@@ -174,10 +91,10 @@ func (l *LogMessage) String() string {
174
91
var formattedLog []string
175
92
176
93
// Format status
177
- if l .status != gologgerstatus .StatusNone {
94
+ if l .status != gologgerstatus .None {
178
95
formattedLog = append (
179
96
formattedLog ,
180
- gologgerstrings .FormatStatus (l . status , l .format . StatusSeparator ),
97
+ gologgerstrings .FormatStatus (StatusSeparator , l .status ),
181
98
)
182
99
}
183
100
@@ -197,24 +114,17 @@ func (l *LogMessage) String() string {
197
114
// NewLogError creates a new log error
198
115
func NewLogError (
199
116
title string ,
200
- format * LogErrorFormat ,
201
117
errors ... error ,
202
118
) * LogError {
203
- // Check if the format is nil
204
- if format == nil {
205
- format = DefaultLogErrorFormat
206
- }
207
-
208
119
return & LogError {
209
120
title : title ,
210
121
errors : errors ,
211
- format : CopyLogErrorFormat (format ),
212
122
}
213
123
}
214
124
215
125
// FormatErrors gets the formatted errors
216
126
func (l * LogError ) FormatErrors () string {
217
- return gologgerstrings .FormatErrorArray (l . format . ErrorsSeparator , & l .errors )
127
+ return gologgerstrings .FormatErrorArray (ErrorsSeparator , & l .errors )
218
128
}
219
129
220
130
// String gets the string representation of a log error
@@ -225,8 +135,8 @@ func (l *LogError) String() string {
225
135
formattedLog = append (
226
136
formattedLog ,
227
137
gologgerstrings .FormatStatus (
228
- gologgerstatus . StatusFailed ,
229
- l . format . StatusSeparator ,
138
+ StatusSeparator ,
139
+ gologgerstatus . Failed ,
230
140
),
231
141
)
232
142
@@ -244,16 +154,10 @@ func (l *LogError) String() string {
244
154
}
245
155
246
156
// NewDefaultLogger creates a new logger
247
- func NewDefaultLogger (name string , format * LoggerFormat ) * DefaultLogger {
248
- // Check if the format is nil
249
- if format == nil {
250
- format = DefaultLoggerFormat
251
- }
252
-
157
+ func NewDefaultLogger (name string ) * DefaultLogger {
253
158
return & DefaultLogger {
254
159
name : name ,
255
- formattedName : gologgerstrings .AddBrackets (name , format .NameSeparator ),
256
- format : CopyLoggerFormat (format ),
160
+ formattedName : gologgerstrings .AddBrackets (NameSeparator , name ),
257
161
}
258
162
}
259
163
@@ -266,7 +170,7 @@ func (d *DefaultLogger) FormatLogMessage(logMessage *LogMessage) string {
266
170
267
171
return strings .Join (
268
172
[]string {d .formattedName , logMessage .String ()},
269
- string (d . format . MessageSeparator ),
173
+ string (MessageSeparator ),
270
174
)
271
175
}
272
176
@@ -286,7 +190,7 @@ func (d *DefaultLogger) FormatLogError(logError *LogError) string {
286
190
[]string {
287
191
d .formattedName ,
288
192
logError .String (),
289
- }, string (d . format . MessageSeparator ),
193
+ }, string (MessageSeparator ),
290
194
)
291
195
}
292
196
0 commit comments