Module: Logging
- Defined in:
- lib/mkmf.rb
Class Method Summary collapse
Class Method Details
.logfile(file) ⇒ Object
192 193 194 195 196 197 198 199 |
# File 'lib/mkmf.rb', line 192 def self::logfile file @logfile = file if @log and not @log.closed? @log.flush @log.close @log = nil end end |
.message(*s) ⇒ Object
186 187 188 189 190 |
# File 'lib/mkmf.rb', line 186 def self::(*s) @log ||= File::open(@logfile, 'w') @log.sync = true @log.printf(*s) end |
.open ⇒ Object
175 176 177 178 179 180 181 182 183 184 |
# File 'lib/mkmf.rb', line 175 def self::open @log ||= File::open(@logfile, 'w') @log.sync = true $stderr.reopen(@log) $stdout.reopen(@log) yield ensure $stderr.reopen(@orgerr) $stdout.reopen(@orgout) end |
.postpone ⇒ Object
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
# File 'lib/mkmf.rb', line 201 def self::postpone tmplog = "mkmftmp#{@postpone += 1}.log" open do log, *save = @log, @logfile, @orgout, @orgerr @log, @logfile, @orgout, @orgerr = nil, tmplog, log, log begin log.print(open {yield}) @log.close File::open(tmplog) {|t| FileUtils.copy_stream(t, log)} ensure @log, @logfile, @orgout, @orgerr = log, *save @postpone -= 1 rm_f tmplog end end end |