Initial release

This commit is contained in:
some 2024-09-29 13:15:28 -04:00
commit d74a994214
Signed by: some
GPG Key ID: 65D0589220B9BFC8
4 changed files with 82 additions and 0 deletions

35
.editorconfig Normal file
View File

@ -0,0 +1,35 @@
root = true
[*]
charset = utf-8
end_of_line = LF
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
[*.sh]
indent_style = space
indent_size = 4
[{*.html,*.js,*.css,*.scss}]
indent_style = space
indent_size = 4
[Makefile]
indent_style = tab
indent_size = 8
[{{*.,}[Dd]ockerfile{.*,},{*.,}[Cc]ontainerfile{.*,}}]
indent_style = space
indent_size = 4
[*.proto]
indent_style = space
indent_size = 2
[{*.go,go.mod}]
indent_style = tab
indent_size = 8

3
go.mod Normal file
View File

@ -0,0 +1,3 @@
module somehole.com/minecraft/log
go 1.23.1

15
log.go Normal file
View File

@ -0,0 +1,15 @@
package log
type LogLevel uint8
const (
LevelInfo LogLevel = iota
LevelWarn
LevelError
LevelDebug
)
type Logger interface {
Log(level LogLevel, msg string)
Logf(level LogLevel, format string, a ...any)
}

29
plain.go Normal file
View File

@ -0,0 +1,29 @@
package log
import "fmt"
type PlainLoggerLogLevel LogLevel
func (level PlainLoggerLogLevel) String() (out string) {
switch level {
case PlainLoggerLogLevel(LevelInfo):
out = "[info]"
case PlainLoggerLogLevel(LevelWarn):
out = "[warn]"
case PlainLoggerLogLevel(LevelError):
out = "[error]"
case PlainLoggerLogLevel(LevelDebug):
out = "[debug]"
}
return
}
type PlainLogger struct{}
func (p *PlainLogger) Log(level LogLevel, msg string) {
fmt.Printf("%s %s\n", PlainLoggerLogLevel(level), msg)
}
func (p *PlainLogger) Logf(level LogLevel, format string, a ...any) {
p.Log(level, fmt.Sprintf(format, a...))
}