Skip to content

Commit 7c31733

Browse files
committedMay 1, 2015
Expose logger::write to Ruby.
1 parent 91cf758 commit 7c31733

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed
 

Diff for: ‎kernel/bootstrap/logger.rb

+5
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ def initialize(name)
4949
@format = "#{name}: %s"
5050
end
5151

52+
def write(message)
53+
Rubinius.primitive :logger_write
54+
raise PrimitiveFailure, "Rubinius::Logger#write primitive failed"
55+
end
56+
5257
def fatal(message)
5358
Rubinius.primitive :logger_fatal
5459
raise PrimitiveFailure, "Rubinius::Logger#fatal primitive failed"

Diff for: ‎vm/builtin/logger.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ namespace rubinius {
2525
return logger;
2626
}
2727

28+
Object* Logger::write(STATE, String* message) {
29+
logger::write(format()->c_str(state), message->c_str(state));
30+
return cNil;
31+
}
32+
2833
Object* Logger::fatal(STATE, String* message) {
2934
logger::fatal(format()->c_str(state), message->c_str(state));
3035
return cNil;

Diff for: ‎vm/builtin/logger.hpp

+3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ namespace rubinius {
2727
// Rubinius.primitive+ :logger_allocate
2828
static Logger* allocate(STATE, Object* self);
2929

30+
// Rubinius.primitive :logger_write
31+
Object* write(STATE, String* message);
32+
3033
// Rubinius.primitive :logger_fatal
3134
Object* fatal(STATE, String* message);
3235

0 commit comments

Comments
 (0)
Please sign in to comment.