diff options
Diffstat (limited to 'rb/src/IceRuby/Logger.cpp')
-rw-r--r-- | rb/src/IceRuby/Logger.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/rb/src/IceRuby/Logger.cpp b/rb/src/IceRuby/Logger.cpp index 1ae2b717d91..516bc0988b9 100644 --- a/rb/src/IceRuby/Logger.cpp +++ b/rb/src/IceRuby/Logger.cpp @@ -9,6 +9,7 @@ #include <Logger.h> #include <Util.h> +#include <Ice/Initialize.h> using namespace std; using namespace IceRuby; @@ -94,6 +95,19 @@ IceRuby_Logger_error(VALUE self, VALUE message) return Qnil; } +extern "C" +VALUE +IceRuby_getProcessLogger() +{ + ICE_RUBY_TRY + { + Ice::LoggerPtr logger = Ice::getProcessLogger(); + return createLogger(logger); + } + ICE_RUBY_CATCH + return Qnil; +} + bool IceRuby::initLogger(VALUE iceModule) { @@ -110,5 +124,10 @@ IceRuby::initLogger(VALUE iceModule) rb_define_method(_loggerClass, "warning", CAST_METHOD(IceRuby_Logger_warning), 1); rb_define_method(_loggerClass, "error", CAST_METHOD(IceRuby_Logger_error), 1); + // + // Global methods. + // + rb_define_module_function(iceModule, "getProcessLogger", CAST_METHOD(IceRuby_getProcessLogger), 0); + return true; } |