diff --git a/cozy-oauth-proxy b/cozy-oauth-proxy
index e71175ed9ea710631e991bb169c96b0c356f4b42..fc7a914ff47d4c8f53c8280afec8cd395e2ce758 100755
Binary files a/cozy-oauth-proxy and b/cozy-oauth-proxy differ
diff --git a/main.go b/main.go
index 6ed54806cb4035481e04f68e40a6ac995d9ee2d7..8c673d323ebc7fe6cf325ec8eb8f5916257dff73 100644
--- a/main.go
+++ b/main.go
@@ -16,6 +16,7 @@ import (
 
 var (
 	httpPort = flag.Int("http_port", LookupEnvOrInt("HTTP_PORT", 80), "HTTP port to serve on (defaults to 80)")
+	logLevel = flag.String("loglevel", LookupEnvOrString("LOGLEVEL", "debug"), "log level (debug, info, warning, error) (defaults to debug)")
 )
 
 type TokenResponse struct {
@@ -60,9 +61,21 @@ func main() {
 		FullTimestamp:    true,
 		TimestampFormat:  "2006-01-02 15:04:05",
 	})
-	// TODO(SBL): Level should be configurable via flag
-	//log.SetLevel(log.WarnLevel)
-	log.SetLevel(log.DebugLevel)
+
+	// Configure log level
+	switch strings.ToLower(*logLevel) {
+	case "error":
+		log.SetLevel(log.ErrorLevel)
+	case "warning":
+		log.SetLevel(log.WarnLevel)
+	case "info":
+		log.SetLevel(log.InfoLevel)
+	case "debug":
+		log.SetLevel(log.DebugLevel)
+	default:
+		log.SetLevel(log.DebugLevel)
+		log.Fatalf("Unknown logging level %s. Choose between debug, info, warning or error.", *logLevel)
+	}
 
 	mux := http.NewServeMux()
 	log.Infof("Starting Server on port %d\n", *httpPort)