}
 }
 
-GuileInterpreter::GuileInterpreter() {
+GuileInterpreter::GuileInterpreter()
+       : logger(log4cxx::Logger::getLogger("bindings.Guile")) {
        scm_init_guile();
 
        scm_c_use_module("system repl server");
        guile_error_port = scm_open_output_string();
        scm_set_current_output_port(guile_output_port);
        scm_set_current_error_port(guile_error_port);
+       LOG4CXX_INFO(logger, "Initializing GUILE finished");
 }
 
 int GuileInterpreter::evaluate(const std::string& command,
                                std::ostream& stdout,
                                std::ostream& stderr,
                                std::string& result) {
+       LOG4CXX_INFO(logger, "Loading file \"" << filename << "\"");
        scm_c_primitive_load(filename.c_str());
+       LOG4CXX_INFO(logger, "Finished file \"" << filename << "\"");
        return 0;
 }
 
 #define INCLUDE__Guile_hxx_
 
 #include <libguile.h>
+#include <log4cxx/logger.h>
 
 #include "Interpreter.hxx"
 
 private:
        SCM guile_output_port;
        SCM guile_error_port;
+       log4cxx::LoggerPtr logger;
 };
 
 #endif /* INCLUDE__Guile_hxx_ */