コード例 #1
0
        void PostfixLogLevelInfo(ref string message, ref string cmessage, LoggerLogLevel level)
        {
            var logName = level.ToString().ToUpper();

            message  = "[" + logName + "] " + message;
            cmessage = ("[" + logName + "] " + Styles.LogLevel[level]) + cmessage;
        }
コード例 #2
0
        // Broadcast Log Messages
        private void BroadcasterOnLogBroadcast(LoggerLogLevel level, string logText)
        {
            var keys = ListAllKeys();


            foreach (var key in keys)
            {
                LoggerLogLevel minLevel;

                lock (ConnectedClientLogLevels)
                {
                    if (!ConnectedClientLogLevels.ContainsKey(key))
                    {
                        continue;
                    }
                    minLevel = ConnectedClientLogLevels[key];
                }



                // incoming log is the level was want
                if ((int)minLevel > (int)level)
                {
                    continue;
                }


                // ok send message through channel!
                var callback = GetCallback(key);

                if (!IsOpen(callback))
                {
                    DeleteKey(key);
                    continue;
                }


                try
                {
                    // callback...
                    callback.ReceiveLogMessage(new LogMessageDto
                    {
                        ComputerName    = Environment.MachineName,
                        LogDateTime     = DateTime.Now,
                        LogLevel        = level.ToString(),
                        LogText         = logText,
                        ApplicationName = Assembly.GetEntryAssembly().FullName
                    });
                }
                catch (Exception)
                {
                    DeleteKey(key);
                }
            }
        }