hunk.code_window: 	}()
   	return storeChannel
   }
   type channelIdWithCount struct {
   	Id            string
   	TotalMsgCount int64
  
hunk.labels: keep keep keep keep keep replace keep keep
hunk.after_edit: type channelIdWithCountandUpdateAt struct {
  
hunk.file_path: store/sql_channel_store.go
hunk.type: replace
file: // Copyright (C) 2010, Kyle Lemons <kyle@kylelemons.net>.  All rights reserved.
  
  package log4go
  
  import (
  	"io"
  	"os"
  	"fmt"
  )
  
  var stdout io.Writer = os.Stdout
  
  // This is the standard writer that prints to standard output.
  type ConsoleLogWriter chan *LogRecord
  
  // This creates a new ConsoleLogWriter
  func NewConsoleLogWriter() ConsoleLogWriter {
  	records := make(ConsoleLogWriter, LogBufferLength)
  	go records.run(stdout)
  	return records
  }
  
  func (w ConsoleLogWriter) run(out io.Writer) {
  	var timestr string
  	var timestrAt int64
  
  	for rec := range w {
  		if at := rec.Created.UnixNano() / 1e9; at != timestrAt {
  			timestr, timestrAt = rec.Created.Format("01/02/06 15:04:05"), at
  		}
  		fmt.Fprint(out, "[", timestr, "] [", levelStrings[rec.Level], "] ", rec.Message, "\n")
  	}
  }
  
  // This is the ConsoleLogWriter's output method.  This will block if the output
  // buffer is full.
  func (w ConsoleLogWriter) LogWrite(rec *LogRecord) {
  	w <- rec
  }
  
  // Close stops the logger from sending messages to standard output.  Attempts to
  // send log messages to this logger after a Close have undefined behavior.
  func (w ConsoleLogWriter) Close() {
  	close(w)
  }
  