Skip to content

Instantly share code, notes, and snippets.

//f represnts io.file
// incase I don't need lumberjack and want to
// write to both Stdout and file
multi := io.MultiWriter(os.Stdout, f)
l := ConfigureLogrus(multi)
// in case I don't need lumberjack and want to
// write to file only
func ConfigureLogrus(output io.Writer) *logrus.Logger {
logger := logrus.New()
logger.SetLevel(logrus.DebugLevel)
logger.SetFormatter(&logrus.TextFormatter{
DisableColors: false,
FullTimestamp: true,
TimestampFormat: "2006-01-02 15:04:05.000",
ForceColors: true,
DisableLevelTruncation: true,
})
func configureLogrus(lumberjackConfig *lumberjack.Logger) *logrus.Logger {
logger := logrus.New()
logger.SetLevel(logrus.DebugLevel)
logger.SetFormatter(&logrus.TextFormatter{
DisableColors: false,
FullTimestamp: true,
TimestampFormat: "2006-01-02 15:04:05.000",
ForceColors: true,
DisableLevelTruncation: true,
})
func (f FakeResource) Close() error{
var err error
//close fake resouce
//if fails return error
//lets return err here
return err
}
@dhruvr
dhruvr / fake.go
Created September 21, 2019 21:35
type FakeResource struct{
//some fake resource
}
db, err := sql.Open(confs.DBDriverName, connectionString)
if err != nil {
log.Fatalln("Problem while setting up the data base ", wErr)
}
if wErr = db.Ping(); err != nil {
log.Fatalln("Problem while pinging to the data base ", err)
}
defer Close(db)
func (db *DB) Close() error {
...
}
@dhruvr
dhruvr / ioCloser.go
Created September 21, 2019 21:32
ioCloser.go
func Close(r io.Closer) {
err := r.Close()
if err != nil {
logger.Errorn("Problem while closing the connection", err)
}
}
@dhruvr
dhruvr / CallingClose.go
Last active October 2, 2019 17:24
CallingClose.go
func main(){
fileName := "xyz.txt"
f, err := os.OpenFile(fileName, os.O_WRONLY|os.O_CREATE, 0755)
if err != nil {
if os.IsNotExist(err) {
log.Fatalf("Fatal, Problem while opening file %v for logging, err: %v \n", args.logFile, err)
}
}
//-----------------------------
@dhruvr
dhruvr / Close.go
Created September 21, 2019 21:30
Close method for closing file
func Close(r *os.File) {
err := r.Close()
if err != nil {
logger.Errorn("Problem while closing the connection", err)
}
}