internal TsdQueryLogSink(string filename, string datePattern, int maxRollBackups, bool immediateFlush, JSONLogFormat.IJsonLogSerializer serializer)
        {
            Logger = Common.Logging.LogManager.GetLogger(typeof(TsdQueryLogSink));
            var reposName = Guid.NewGuid().ToString();

            var repos = LogManager.CreateRepository(reposName);
            var appender = new log4net.Appender.RollingFileAppender();
            //appender.MaxFileSize = maxFileSize;
            appender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Date;
            appender.MaxSizeRollBackups = maxRollBackups;
            appender.File = filename;
            appender.Layout = new log4net.Layout.PatternLayout("%message%newline");
            appender.ImmediateFlush = immediateFlush;
            appender.StaticLogFileName = false;
            appender.DatePattern = datePattern;
            appender.ActivateOptions();
            log4net.Config.BasicConfigurator.Configure(repos, appender);
            SampleLogger = LogManager.GetLogger(reposName, "SampleLogger");

            Serializer = serializer;
        }
 internal Builder(string name, JSONLogFormat.IJsonLogSerializer serializer)
     : this(name)
 {
     if (serializer == null)
         throw new InvalidOperationException("Serializer can't be null");
     Serializer = serializer;
 }