OpenRA.Log.AddChannel C# (CSharp) Method

AddChannel() public static method

public static AddChannel ( string channelName, string baseFilename ) : void
channelName string
baseFilename string
return void
        public static void AddChannel(string channelName, string baseFilename)
        {
            lock (Channels)
            {
                if (Channels.ContainsKey(channelName)) return;

                if (string.IsNullOrEmpty(baseFilename))
                {
                    Channels.Add(channelName, new ChannelInfo());
                    return;
                }

                foreach (var filename in FilenamesForChannel(channelName, baseFilename))
                    try
                    {
                        var writer = File.CreateText(filename);
                        writer.AutoFlush = true;

                        Channels.Add(channelName,
                            new ChannelInfo
                            {
                                Filename = filename,
                                Writer = TextWriter.Synchronized(writer)
                            });

                        return;
                    }
                    catch (IOException) { }
            }
        }

Usage Example

Example #1
0
        internal static void Initialize(Arguments args)
        {
            Console.WriteLine("Platform is {0}", Platform.CurrentPlatform);

            AppDomain.CurrentDomain.AssemblyResolve += FileSystem.ResolveAssembly;

            Settings = new Settings(Platform.SupportDir + "settings.yaml", args);
            Settings.Save();

            Log.LogPath = Platform.SupportDir + "Logs" + Path.DirectorySeparatorChar;
            Log.AddChannel("perf", "perf.log");
            Log.AddChannel("debug", "debug.log");
            Log.AddChannel("sync", "syncreport.log");

            FileSystem.Mount(".");             // Needed to access shaders
            Renderer.Initialize(Game.Settings.Graphics.Mode);
            Renderer = new Renderer();

            Console.WriteLine("Available mods:");
            foreach (var mod in Mod.AllMods)
            {
                Console.WriteLine("\t{0}: {1} ({2})", mod.Key, mod.Value.Title, mod.Value.Version);
            }

            Sound.Create(Settings.Sound.Engine);
            InitializeWithMods(Settings.Game.Mods);
        }
All Usage Examples Of OpenRA.Log::AddChannel