private static IList <TextWriter> GetTextWriterList()
        {
            if (Mode == LoggingMode.Console)
            {
                return(Console.Out.AsList());
            }

            string dir = Path.GetDirectoryName(FilePath);

            Directory.CreateDirectory(dir);
            FileStream stream = new FileStream(FilePath, FileMode.Append, FileAccess.Write);
            TextWriter writer = new StreamWriter(stream);

            return(Mode == LoggingMode.Both ? new List <TextWriter> {
                writer, Console.Out
            } : writer.AsList());
        }