public IColumnizedLogLine SplitLine(ILogLineColumnizerCallback callback, ILogLine line)
        {
            ColumnizedLogLine cLogLine = new ColumnizedLogLine();

            cLogLine.LogLine = line;

            string temp = line.FullLine;

            Column[] columns = Column.CreateColumns(COLUMN_COUNT, cLogLine);
            cLogLine.ColumnValues = columns.Select(a => a as IColumn).ToArray();

            // delete '[#|' and '|#]'
            if (temp.StartsWith("[#|"))
            {
                temp = temp.Substring(3);
            }

            if (temp.EndsWith("|#]"))
            {
                temp = temp.Substring(0, temp.Length - 3);
            }

            // If the line is too short (i.e. does not follow the format for this columnizer) return the whole line content
            // in colum 8 (the log message column). Date and time column will be left blank.
            if (temp.Length < 28)
            {
                columns[1].FullValue = temp;
            }
            else
            {
                try
                {
                    DateTime dateTime = GetTimestamp(callback, line);
                    if (dateTime == DateTime.MinValue)
                    {
                        columns[1].FullValue = temp;
                    }

                    string newDate = dateTime.ToString(DATETIME_FORMAT_OUT);
                    columns[0].FullValue = newDate;
                }
                catch (Exception)
                {
                    columns[0].FullValue = "n/a";
                }

                Column timestmp = columns[0];

                string[] cols;
                cols = temp.Split(this.trimChars, COLUMN_COUNT, StringSplitOptions.None);

                if (cols.Length != COLUMN_COUNT)
                {
                    columns[0].FullValue = string.Empty;
                    columns[1].FullValue = temp;
                }
                else
                {
                    columns[0]           = timestmp;
                    columns[1].FullValue = cols[1];
                }
            }

            return(cLogLine);
        }