diff --git a/src/citra/emu_window/emu_window_glfw.cpp b/src/citra/emu_window/emu_window_glfw.cpp
index 8efb39e2eab73c715ae0b189da2cd06f41924a13..697bf46934f651e3113e6241f5e7bbffab0bf7c8 100644
--- a/src/citra/emu_window/emu_window_glfw.cpp
+++ b/src/citra/emu_window/emu_window_glfw.cpp
@@ -58,9 +58,13 @@ EmuWindow_GLFW::EmuWindow_GLFW() {
 
     ReloadSetKeymaps();
 
+    glfwSetErrorCallback([](int error, const char *desc){
+        ERROR_LOG(GUI, "GLFW 0x%08x: %s", error, desc);
+    });
+
     // Initialize the window
     if(glfwInit() != GL_TRUE) {
-        printf("Failed to initialize GLFW! Exiting...");
+        ERROR_LOG(GUI, "Failed to initialize GLFW! Exiting...");
         exit(1);
     }
     glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
@@ -75,7 +79,7 @@ EmuWindow_GLFW::EmuWindow_GLFW() {
         window_title.c_str(), NULL, NULL);
 
     if (m_render_window == NULL) {
-        printf("Failed to create GLFW window! Exiting...");
+        ERROR_LOG(GUI, "Failed to create GLFW window! Exiting...");
         exit(1);
     }