+2017-09-03 Daigo Moriwaki <daigo at debian dot org>
+
+ * [shogi-server] Write game results in categorical files
+ The shogi-server now writes down game results in the following
+ files, depending on a game class:
+ - 00LIST: all games
+ - 00LIST.floodgate: floodgate games
+ - 00LIST.others: non-floodgate games
+ (Closes #37492)
+
2017-09-02 Daigo Moriwaki <daigo at debian dot org>
* [shogi-server] Write more game results in record files
#
class LoggingObserver
def initialize
- @logfile = File.join($league.dir, "00LIST")
+ @logfile = File.join($league.dir, "00LIST")
+ @logfile_floodgate = File.join($league.dir, "00LIST.floodgate")
+ @logfile_others = File.join($league.dir, "00LIST.others")
end
def update(game_result)
game_result.game.logfile,
game_result.game.board.move_count]
begin
+ files = [@logfile]
+ if League::Floodgate.game_name?(game_result.game.game_name)
+ files << @logfile_floodgate
+ else
+ files << @logfile_others
+ end
# Note that this is proccessed in the gian lock.
- File.open(@logfile, "a") do |f|
- f << msg.join("\t") << "\n"
+ str = msg.join("\t")
+ files.each do |file|
+ File.open(file, "a") do |f|
+ f.puts str
+ end
end
rescue => e
# ignore