// TestLogLevelDEV tests the basic functioning of the logger in DEV mode. func TestLogLevelDEV(t *testing.T) { t.Log("Given the need to log DEV and USER messages.") { t.Log("\tWhen we set the logging level to DEV.") { log.Init(&logdest, func() int { return log.DEV }) resetLog() defer displayLog() dt := time.Now().Format("2006/01/02 15:04:05") log1 := fmt.Sprintf("%s log_test.go:81: DEV : context : FuncName : Message 1 no format\n", dt) log2 := fmt.Sprintf("%s log_test.go:82: USER : context : FuncName : Message 2 with format: A, B\n", dt) log3 := fmt.Sprintf("%s log_test.go:83: ERROR : context : FuncName : An error : Message 3 with format: C, D\n", dt) log.Dev("context", "FuncName", "Message 1 no format") log.User("context", "FuncName", "Message 2 with format: %s, %s", "A", "B") log.Error("context", "FuncName", errors.New("An error"), "Message 3 with format: %s, %s", "C", "D") if logdest.String() == log1+log2+log3 { t.Logf("\t\t%v : Should log the expected trace line.", succeed) } else { t.Log("***>", logdest.String()) t.Log("***>", log1+log2+log3) t.Errorf("\t\t%v : Should log the expected trace line.", failed) } } } }
func init() { // This is being added to showcase configuration. os.Setenv("KIT_LOGGING_LEVEL", "1") os.Setenv("KIT_MIN_ROUTINES", "1") os.Setenv("KIT_MAX_ROUTINES", "10") // Init the configuration system. if err := cfg.Init(cfg.EnvProvider{Namespace: configKey}); err != nil { fmt.Println("Error initalizing configuration system", err) os.Exit(1) } // Init the log system. logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.USER } return ll } log.Init(os.Stderr, logLevel) // Log all the configuration options log.User("startup", "init", "\n\nConfig Settings: %s\n%s\n", configKey, cfg.Log()) }
func setup() { // Save original enviroment variables oStrategy = os.Getenv("STRATEGY_CONF") oPillarURL = os.Getenv("PILLAR_URL") oPollingInterval = os.Getenv("POLLING_INTERVAL") logLevel := func() int { ll, err := cfg.Int("LOGGING_LEVEL") if err != nil { return log.DEV } return ll } log.Init(os.Stderr, logLevel) // MOCK STRATEGY CONF strategyConf := "../../tests/strategy_test.json" e := os.Setenv("STRATEGY_CONF", strategyConf) // IS NOT REALLY SETTING UP THE VARIABLE environment FOR THE WHOLE PROGRAM :( if e != nil { fmt.Println("It could not setup the mock strategy conf variable") } }
func main() { // Initialize the configuration if err := cfg.Init(cfg.EnvProvider{Namespace: "SPONGE"}); err != nil { sponge.Println("Unable to initialize configuration") os.Exit(1) } // Initialize the logging logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.NONE } return ll } log.Init(os.Stderr, logLevel, log.Ldefault) sponge.Println("Using log level", logLevel()) // Add the item commands to the CLI tool. sponge.AddCommand( cmditem.GetCommands(), cmdpattern.GetCommands(), ) // Execute the command. sponge.Execute() }
// Init is called to initialize the application. func Init(configKey string) { // Init the configuration system. if err := cfg.Init(cfg.EnvProvider{Namespace: configKey}); err != nil { fmt.Println("Error initalizing configuration system", err) os.Exit(1) } // Init the log system. logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.USER } return ll } log.Init(os.Stderr, logLevel) // Log all the configuration options log.User("startup", "Init", "\n\nConfig Settings: %s\n%s\n", configKey, cfg.Log()) // Load user defined custom headers. HEADERS should be key:value,key:value if hs, err := cfg.String("HEADERS"); err == nil { hdrs := strings.Split(hs, ",") for _, hdr := range hdrs { if kv := strings.Split(hdr, ":"); len(kv) == 2 { log.User("startup", "Init", "User Headers : %s:%s", kv[0], kv[1]) app.userHeaders[kv[0]] = kv[1] } } } }
func setup() { // Save original enviroment variables oStrategy = os.Getenv("STRATEGY_CONF") oPillarURL = os.Getenv("PILLAR_URL") // Initialize log logLevel := func() int { ll, err := cfg.Int("LOGGING_LEVEL") if err != nil { return log.DEV } return ll } log.Init(os.Stderr, logLevel) // Mock strategy configuration strategyConf := "../../tests/strategy_test.json" //strategyConf := "../../tests/strategy_with_actions_test.json" e := os.Setenv("STRATEGY_CONF", strategyConf) // IS NOT REALLY SETTING UP THE VARIABLE environment FOR THE WHOLE PROGRAM :( if e != nil { fmt.Println("It could not setup the mock strategy conf variable") } u := uuidimported.New() // Initialize fiddler Init(u) }
func main() { // Initialize logging logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.USER } return ll } log.Init(os.Stderr, logLevel) // Generate UUID to use with the logs uid := uuid.New() if err := sponge.Init(uid); err != nil { log.Error(uid, "main", err, "Unable to initialize configuration.") os.Exit(-1) } if err := cmd.RootCmd.Execute(); err != nil { log.Error(uid, "main", err, "Unable to execute the command.") os.Exit(-1) } }
func main() { if err := cfg.Init(cfg.EnvProvider{Namespace: cfgNamespace}); err != nil { kit.Println("Unable to initialize configuration") os.Exit(1) } logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.NONE } return ll } log.Init(os.Stderr, logLevel) cfg := mongo.Config{ Host: cfg.MustString(cfgMongoHost), AuthDB: cfg.MustString(cfgMongoAuthDB), DB: cfg.MustString(cfgMongoDB), User: cfg.MustString(cfgMongoUser), Password: cfg.MustString(cfgMongoPassword), } if err := db.RegMasterSession("startup", cfg.DB, cfg); err != nil { kit.Println("Unable to initialize MongoDB") os.Exit(1) } kit.AddCommand( cmdauth.GetCommands(cfg.DB), cmddb.GetCommands(cfg.DB), ) kit.Execute() }
func init() { logLevel := func() int { ll, err := cfg.Int("LOGGING_LEVEL") if err != nil { return log.DEV } return ll } log.Init(os.Stderr, logLevel) }
// Init initializes the log package. func Init(cfgKey string) { cfg.Init(cfg.EnvProvider{Namespace: cfgKey}) logLevel := func() int { ll, err := cfg.Int("LOGGING_LEVEL") if err != nil { return log.USER } return ll } log.Init(&logdash, logLevel) }
// Init is called to initialize the application. func Init(configKey string) { // Init the configuration system. if err := cfg.Init(cfg.EnvProvider{Namespace: configKey}); err != nil { fmt.Println("Error initalizing configuration system", err) os.Exit(1) } // Init the log system. logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.USER } return ll } log.Init(os.Stderr, logLevel) // Log all the configuration options log.User("startup", "Init", "\n\nConfig Settings: %s\n%s\n", configKey, cfg.Log()) // Init MongoDB if configured. if _, err := cfg.String(cfgMongoHost); err == nil { app.useMongo = true cfg := mongo.Config{ Host: cfg.MustString(cfgMongoHost), AuthDB: cfg.MustString(cfgMongoAuthDB), DB: cfg.MustString(cfgMongoDB), User: cfg.MustString(cfgMongoUser), Password: cfg.MustString(cfgMongoPassword), } if err := mongo.Init(cfg); err != nil { log.Error("startup", "Init", err, "Initializing MongoDB") os.Exit(1) } } // Load user defined custom headers. HEADERS should be key:value,key:value if hs, err := cfg.String("HEADERS"); err == nil { hdrs := strings.Split(hs, ",") for _, hdr := range hdrs { if kv := strings.Split(hdr, ":"); len(kv) == 2 { log.User("startup", "Init", "User Headers : %s:%s", kv[0], kv[1]) app.userHeaders[kv[0]] = kv[1] } } } }
// Init sets up the configuration and logging systems. func Init(p cfg.Provider) { if err := cfg.Init(p); err != nil { fmt.Println("Error initalizing configuration system", err) os.Exit(1) } // Init the log system. logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.USER } return ll } log.Init(os.Stderr, logLevel, log.Ldefault) }
// ExampleDev shows how to use the log package. func ExampleDev(t *testing.T) { // Init the log package for stdout. Hardcode the logging level // function to use USER level logging. log.Init(os.Stdout, func() int { return log.USER }) // Write a simple log line with no formatting. log.User("context", "ExampleDev", "This is a simple line with no formatting") // Write a simple log line with formatting. log.User("context", "ExampleDev", "This is a simple line with no formatting %d", 10) // Write a message error for the user. log.Error("context", "ExampleDev", errors.New("A user error"), "testing error") // Write a message error for the user with formatting. log.Error("context", "ExampleDev", errors.New("A user error"), "testing error %s", "value") // Write a message error for the developer only. log.Dev("context", "ExampleDev", "Formatting %v", 42) }
func setupMongo() { // Initialize logging logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.USER } return ll } log.Init(os.Stderr, logLevel) oStrategy = os.Getenv("STRATEGY_CONF") // MOCK STRATEGY CONF strategyConf := os.Getenv("GOPATH") + "/src/github.com/coralproject/sponge/tests/strategy_wapo_test.json" e := os.Setenv("STRATEGY_CONF", strategyConf) if e != nil { fmt.Println("It could not setup the mock strategy conf variable") } var ok bool u := uuidimported.New() s, e := Init(u) if e != nil { fmt.Printf("Error when initializing strategy, %v.\n", e) } m, e := New(s) // setting up new source if e != nil { fmt.Printf("Error when calling the function, %v.\n", e) } mdb, ok = m.(MongoDB) if !ok { fmt.Println("It should return a type MontoDB") } }
func setupPostgreSQL() { // Initialize logging logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.USER } return ll } log.Init(os.Stderr, logLevel) oStrategy = os.Getenv("STRATEGY_CONF") // MOCK STRATEGY CONF strategyConf := os.Getenv("GOPATH") + "/src/github.com/coralproject/sponge/tests/strategy_discourse_test.json" e := os.Setenv("STRATEGY_CONF", strategyConf) // IS NOT REALLY SETTING UP THE VARIABLE environment FOR THE WHOLE PROGRAM :( if e != nil { fmt.Println("It could not setup the mock strategy conf variable") } var ok bool u := uuidimported.New() s, e := Init(u) if e != nil { fmt.Printf("Error when initializing strategy, %v.\n", e) } m, e := New(s) // setup new source if e != nil { fmt.Printf("Error when calling the function, %v.\n", e) } mp, ok = m.(PostgreSQL) if !ok { fmt.Println("It should return a type PostgreSQL") } }
// Init initializes the log package. func Init(cfgKey string) { cfg.Init(cfgKey) log.Init(&logdash, func() int { return log.DEV }) }
func setup() { // Save original enviroment variables oStrategy = os.Getenv("STRATEGY_CONF") oPillar = os.Getenv("PILLAR_URL") logLevel := func() int { ll, err := cfg.Int("LOGGING_LEVEL") if err != nil { return log.DEV } return ll } log.Init(os.Stderr, logLevel) //MOCK STRATEGY CONF strategyConf := "../../tests/strategy_test.json" e := os.Setenv("STRATEGY_CONF", strategyConf) // IS NOT REALLY SETTING UP THE VARIABLE environment FOR THE WHOLE PROGRAM :( if e != nil { fmt.Println("It could not setup the mock strategy conf variable") } // Initialization of stub server server = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { var err error // check that the row is what we want it to be switch r.RequestURI { case "/api/import/user": // if user, the payload should be a user kind of payload // decode the user user := model.User{} err = json.NewDecoder(r.Body).Decode(&user) case "/api/import/asset": // if asset, the payload should be an asset kind of payload // decode the asset asset := model.Asset{} err = json.NewDecoder(r.Body).Decode(&asset) case "/api/import/comment": // if comment, the payload should be a comment kind of payload // decode the comment comment := model.Comment{} err = json.NewDecoder(r.Body).Decode(&comment) case "/api/import/index": // decode the index index := model.Index{} err = json.NewDecoder(r.Body).Decode(&index) default: err = errors.New("Bad request") } if err != nil { w.WriteHeader(http.StatusBadRequest) } if err == nil { w.WriteHeader(http.StatusOK) } w.Header().Set("Content-Type", "application/json") fmt.Fprintln(w, err) })) path = os.Getenv("GOPATH") + "/src/github.com/coralproject/sponge/tests/fixtures/" // Mock pillar url os.Setenv("PILLAR_URL", server.URL) u := uuidimported.New() // Initialize coral Init(u) }
func setupAPI() { // Mock the API Server serverurl := mockAPI() // Initialize logging logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.USER } return ll } log.Init(os.Stderr, logLevel) oStrategy = os.Getenv("STRATEGY_CONF") // MOCK STRATEGY CONF strategyConf := os.Getenv("GOPATH") + "/src/github.com/coralproject/sponge/tests/strategy_wapo_api_test.json" // write down serverurl into the strategyconf st := strategy content, err := ioutil.ReadFile(strategyConf) err = json.Unmarshal(content, &st) st.Credentials.Service.Endpoint = serverurl bst, err := json.Marshal(st) if err != nil { fmt.Println("Error when trying to marshall back the strategy file with server url of the mock server: ", err) } mode := os.FileMode(0777) err = ioutil.WriteFile(strategyConf, bst, mode) if err != nil { fmt.Println("Error when saving back the strategy file with the mock server: ", err) } e := os.Setenv("STRATEGY_CONF", strategyConf) if e != nil { fmt.Println("It could not setup the mock strategy conf variable") } var ok bool u := uuidimported.New() s, e := Init(u) if e != nil { fmt.Printf("Error when initializing strategy, %v.\n", e) } m, e := New(s) if e != nil { fmt.Printf("Error when calling the function, %v.\n", e) } mapi, ok = m.(API) if !ok { fmt.Println("It should return a type API") } attributes := "scope:https://www.washingtonpost.com/lifestyle/style/carolyn-hax-stubborn-60-something-parent-refuses-to-see-a-doctor/2015/09/24/299ec776-5e2d-11e5-9757-e49273f05f65_story.html source:washpost.com itemsPerPage:100 sortOrder:reverseChronological" mapi.Connection = fmt.Sprintf("%s/v1/search?q=((%s))&appkey=dev.washpost.com", serverurl, attributes) }
func main() { // Initialize the configuration if err := cfg.Init(cfg.EnvProvider{Namespace: "WIRE"}); err != nil { wire.Println("Unable to initialize configuration") os.Exit(1) } // Initialize the logging logLevel := func() int { ll, err := cfg.Int(cfgLoggingLevel) if err != nil { return log.NONE } return ll } log.Init(os.Stderr, logLevel, log.Ldefault) wire.Println("Using log level", logLevel()) // Pull options from the config. var mgoDB *db.DB var graphDB *cayley.Handle // Configure MongoDB. wire.Println("Configuring MongoDB") mongoURI := cfg.MustURL(cfgMongoURI) err := db.RegMasterSession("startup", mongoURI.Path, mongoURI.String(), 0) if err != nil { wire.Println("Unable to initialize MongoDB") os.Exit(1) } mgoDB, err = db.NewMGO("startup", mongoURI.Path) if err != nil { wire.Println("Unable to get MongoDB session") os.Exit(1) } defer mgoDB.CloseMGO("") // Configure Cayley. wire.Println("Configuring Cayley") if err := mgoDB.NewCayley("startup", mongoURI.Path); err != nil { wire.Println("Unable to get Cayley support") } graphDB, err = mgoDB.GraphHandle("startup") if err != nil { wire.Println("Unable to get Cayley handle") os.Exit(1) } // Add the graph and view commands to the CLI tool. wire.AddCommand( cmdview.GetCommands(mgoDB, graphDB), ) // Execute the command. wire.Execute() }