diff options
Diffstat (limited to 'lib/logger/log_device.rb')
-rw-r--r-- | lib/logger/log_device.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/logger/log_device.rb b/lib/logger/log_device.rb index c6dc43c11a..5661f5ce14 100644 --- a/lib/logger/log_device.rb +++ b/lib/logger/log_device.rb @@ -9,8 +9,9 @@ class Logger attr_reader :filename include MonitorMixin - def initialize(log = nil, shift_age: nil, shift_size: nil, shift_period_suffix: nil) + def initialize(log = nil, shift_age: nil, shift_size: nil, shift_period_suffix: nil, binmode: false) @dev = @filename = @shift_age = @shift_size = @shift_period_suffix = nil + @binmode = binmode mon_initialize set_dev(log) if @filename @@ -82,6 +83,7 @@ class Logger else @dev = open_logfile(log) @dev.sync = true + @dev.binmode if @binmode @filename = log end end @@ -99,6 +101,7 @@ class Logger logdev = File.open(filename, (File::WRONLY | File::APPEND | File::CREAT | File::EXCL)) logdev.flock(File::LOCK_EX) logdev.sync = true + logdev.binmode if @binmode add_log_header(logdev) logdev.flock(File::LOCK_UN) rescue Errno::EEXIST |