Skip to content

lcaballero/evil-ent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

A printing/logging super-interface. See log_interface.go.

At this point there is only one implementation to the interface that is backed by the seelog library.

See usage below.

Impetus

There's a logger built into the Golang SDK. This logger might not meet all the requirements for your application and so throughout your application you might need to import and use some other library.

Once enough developers begin to work on the application some use the built in logger (which doesn't meet requirements), and as deadlines approach some forget the rule as they try to flesh out raw ideas.

Either way if the team aggrees to use a single inteface (like this one) then a pre-push, or test, could be written to make sure the 'bad' imports stay out of the application, while the imports for 'this' lib are white-listed.

Summary

This library provides a super-interface for all the console writing an application might attempt, so that instead of importing fmt, log, or some-log-lib, etc a single interface can be used and injected into application code. At which point imports can be scanned to gaurantee that the application code doesn't use any unwanted log or printing imports.

Usage

import "github.com/lcaballero/evil-ent/ent/seelog"

...

log, err := seelog.NewSeeLogWriter("seelog.xml")
if err != nil {
  panic(err)
}

// pass log to the rest of the application, set global, etc.

License

See license file.

The use and distribution terms for this software are covered by the Eclipse Public License 1.0, which can be found in the file 'license' at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.

About

Logging interface library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published