# File src/swiftcore/Analogger.rb, line 170
170:                         def write_queue
171:                                 @queue.each do |service,q|
172:                                         last_sv = nil
173:                                         last_m = nil
174:                                         last_count = 0
175:                                         next unless log = @logs[service]
176:                                         lf = log.logfile
177:                                         cull = log.cull
178:                                         levels = log.levels
179:                                         q.each do |m|
180:                                                 next unless levels.has_key?(m[1])
181:                                                 if cull
182:                                                         if m.last == last_m and m[0..1] == last_sv
183:                                                                 last_count += 1
184:                                                                 next
185:                                                         elsif last_count > 0
186:                                                                 lf.puts "#{@now}|#{last_sv.join(C_bar)}|Last message repeated #{last_count} times"
187:                                                                 last_sv = last_m = nil
188:                                                                 last_count = 0
189:                                                         end
190:                                                         lf.puts "#{@now}|#{m.join(C_bar)}"
191:                                                         last_m = m.last
192:                                                         last_sv = m[0..1]
193:                                                 else
194:                                                         lf.puts "#{@now}|#{m.join(C_bar)}"
195:                                                 end
196:                                                 @wcount += 1
197:                                         end
198:                                         lf.puts "#{@now}|#{last_sv.join(C_bar)}|Last message repeated #{last_count} times" if cull and last_count > 0
199:                                 end
200:                                 @queue.each {|service,q| q.clear}
201:                         end