diff --git a/go.mod b/go.mod
index 0bb90e95..aa52fcad 100644
--- a/go.mod
+++ b/go.mod
@@ -20,9 +20,9 @@ require (
 	github.com/iris-contrib/pongo2 v0.0.1
 	github.com/iris-contrib/schema v0.0.1
 	github.com/json-iterator/go v1.1.9
-	github.com/kataras/golog v0.0.17
+	github.com/kataras/golog v0.0.18
 	github.com/kataras/neffos v0.0.16
-	github.com/kataras/pio v0.0.7
+	github.com/kataras/pio v0.0.8
 	github.com/kataras/sitemap v0.0.5
 	github.com/klauspost/compress v1.10.6
 	github.com/mediocregopher/radix/v3 v3.5.1
diff --git a/iris.go b/iris.go
index 0ffd432a..827c3773 100644
--- a/iris.go
+++ b/iris.go
@@ -748,6 +748,9 @@ var RegisterOnInterrupt = host.RegisterOnInterrupt
 // Shutdown gracefully terminates all the application's server hosts and any tunnels.
 // Returns an error on the first failure, otherwise nil.
 func (app *Application) Shutdown(ctx stdContext.Context) error {
+	app.mu.Lock()
+	defer app.mu.Unlock()
+
 	for i, su := range app.Hosts {
 		app.logger.Debugf("Host[%d]: Shutdown now", i)
 		if err := su.Shutdown(ctx); err != nil {
@@ -1239,7 +1242,7 @@ func (app *Application) tryStartTunneling() {
 				app.config.vhost = publicAddr[strings.Index(publicAddr, "://")+3:]
 
 				directLog := []byte(fmt.Sprintf("• Public Address: %s\n", publicAddr))
-				app.Logger().Printer.Output.Write(directLog)
+				app.Logger().Printer.Write(directLog)
 			}
 		})
 	})
diff --git a/middleware/logger/logger.go b/middleware/logger/logger.go
index 86a3a8c3..8493b0c1 100644
--- a/middleware/logger/logger.go
+++ b/middleware/logger/logger.go
@@ -112,7 +112,7 @@ func (l *requestLoggerMiddleware) ServeHTTP(ctx context.Context) {
 	if l.config.Columns {
 		endTimeFormatted := endTime.Format("2006/01/02 - 15:04:05")
 		output := Columnize(endTimeFormatted, latency, status, ip, method, path, message, headerMessage)
-		_, _ = ctx.Application().Logger().Printer.Output.Write([]byte(output))
+		_, _ = ctx.Application().Logger().Printer.Write([]byte(output))
 		return
 	}
 	// no new line, the framework's logger is responsible how to render each log.