Skip to content

Commit 49743ca

Browse files
committed
logger
1 parent 833e8be commit 49743ca

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

datastore.go

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package datastore
22

33
import (
44
"database/sql"
5+
"encoding/json"
56
"net"
67
"net/url"
78
"os"
@@ -30,6 +31,47 @@ type Datastore struct {
3031
Websocket Websocket
3132
}
3233

34+
type Logger struct {
35+
errLog string
36+
}
37+
38+
func NewLogger() *Logger {
39+
return &Logger{}
40+
}
41+
42+
func (l *Logger) Write(b []byte) (int, error) {
43+
l.errLog += string(b) + "\n"
44+
return len(b), nil
45+
}
46+
47+
func (l *Logger) LogBytes(b []byte) {
48+
l.errLog += string(b) + "\n"
49+
}
50+
51+
func (l *Logger) LogText(text string) {
52+
l.errLog += text
53+
}
54+
55+
func (l *Logger) LogValue(val interface{}) {
56+
b, err := json.MarshalIndent(val, "", " ")
57+
if err != nil {
58+
l.LogText("failed to marshal val")
59+
}
60+
l.LogBytes(b)
61+
}
62+
63+
func (l *Logger) ResetLog() {
64+
l.errLog = "" //reset it
65+
}
66+
67+
func (l *Logger) PrintLog() {
68+
log.Info(l.errLog)
69+
}
70+
71+
func (l *Logger) GetLog() string {
72+
return l.errLog
73+
}
74+
3375
// New - returns a new datastore which contains redis, database, view globals and settings.
3476
func New() *Datastore {
3577
store := Simple()
@@ -49,7 +91,7 @@ func Simple() *Datastore {
4991

5092
// - LOGGING
5193
// Log as JSON instead of the default ASCII formatter.
52-
log.SetFormatter(&log.JSONFormatter{})
94+
// log.SetFormatter(&log.JSONFormatter{})
5395
// Output to stderr instead of stdout, could also be a file.
5496
log.SetOutput(os.Stderr)
5597
// Only log the warning severity or above.
@@ -199,6 +241,7 @@ type Settings struct {
199241
EmailFromEmail string
200242
IsSiteBound bool
201243
CacheNamespace string
244+
LoggingEnabled bool
202245
}
203246

204247
func loadSettings() *Settings {
@@ -207,6 +250,7 @@ func loadSettings() *Settings {
207250
panic(err)
208251
}
209252
s := &Settings{}
253+
s.LoggingEnabled = (os.Getenv("LOGGING_ENABLED") == "true")
210254
s.ServerIsDEV = (os.Getenv("IS_DEV") == "true")
211255
s.ServerIsLVE = !s.ServerIsDEV
212256
if s.ServerIsDEV {

0 commit comments

Comments
 (0)