29 lines
1.2 KiB
Diff
29 lines
1.2 KiB
Diff
From 9e788e7f2a5b28748b6e55d9444a7e0428461145 Mon Sep 17 00:00:00 2001
|
|
From: Kouhei Sutou <kou@clear-code.com>
|
|
Date: Mon, 4 Aug 2014 21:37:04 +0900
|
|
Subject: [PATCH] logger: replace invalid and undefined characters in encode
|
|
error message
|
|
|
|
[shocker-ja:1228]
|
|
|
|
Reported by OBATA Akio. Thanks!!!
|
|
---
|
|
lib/rabbit/logger/stderr.rb | 5 ++++-
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/lib/rabbit/logger/stderr.rb b/lib/rabbit/logger/stderr.rb
|
|
index b5081ab..f2bf450 100644
|
|
--- a/lib/rabbit/logger/stderr.rb
|
|
+++ b/lib/rabbit/logger/stderr.rb
|
|
@@ -13,7 +13,10 @@ def do_log(severity, prog_name, message)
|
|
message = message.encode("locale")
|
|
rescue EncodingError
|
|
format = _("can't convert to current locale from UTF-8: %s")
|
|
- $stderr.puts(format % message.encode(format.encoding))
|
|
+ sanitized_message = message.encode(format.encoding,
|
|
+ :invalid => :replace,
|
|
+ :undef => :replace)
|
|
+ $stderr.puts(format % sanitized_message)
|
|
end
|
|
$stderr.puts(format_severity(severity))
|
|
$stderr.print("[#{prog_name}]: ") if prog_name
|