Пример #1
0
        /// <summary>
        /// Add a given messge to the LogList to appear live in the log panel of the UI
        /// Gives a different color depending on the LogType, but this feature not used at the moment
        /// </summary>
        /// <param name="message"></param>
        /// <param name="type"></param>
        public void PrintMessage(string message, Logger.LogType type)
        {
            var showColor = String.Empty;

            if (type == Logger.LogType.Error)
            {
                showColor = "Red";
            }
            else if (type == Logger.LogType.Warning)
            {
                showColor = "Orange";
            }
            else
            {
                showColor = "Green";
            }
            Log = new ObservableCollection <Log>(Log)
            {
                new Log
                {
                    Message   = message,
                    ColorText = showColor
                }
            };
        }
Пример #2
0
        public PortalViewModel()
        {
            this.SelectorShipDrop = true;
            this.currentLogType   = Logger.LogType.ShipDrop;

            this.Update();

            try
            {
                this._watcher = new FileSystemWatcher(Directory.GetParent(Logger.LogFolder).ToString())
                {
                    IncludeSubdirectories = true,
                    NotifyFilter          = NotifyFilters.LastWrite | NotifyFilters.CreationTime | NotifyFilters.FileName,
                    Filter = Logger.LogParameters[this.currentLogType].FileName,
                    EnableRaisingEvents = true
                };

                this._watcher.Changed += (sender, e) => { this.Update(); };
                this._watcher.Created += (sender, e) => { this.Update(); };
                this._watcher.Deleted += (sender, e) => { this.Update(); };
                this._watcher.Renamed += (sender, e) => { this.Update(); };
            }
            catch (Exception)
            {
                if (this._watcher != null)
                {
                    this._watcher.EnableRaisingEvents = false;
                }
            }
        }
        //Logger Callback
        private void OnMessageLogged(Logger.LogType logType, string message)
        {
            //Determine message color
            SolidColorBrush colorBrush = Brushes.White;

            switch (logType)
            {
            case Logger.LogType.Warning:
                colorBrush = Brushes.Yellow;
                break;

            case Logger.LogType.Error:
                colorBrush = Brushes.Red;
                break;

            case Logger.LogType.Normal:
            default:
                colorBrush = Brushes.White;
                break;
            }

            //Add to textbox
            TextRange textRange = new TextRange(InfoTextbox.Document.ContentEnd, InfoTextbox.Document.ContentEnd);

            textRange.Text = "\n" + message;
            textRange.ApplyPropertyValue(TextElement.ForegroundProperty, colorBrush);

            //Scroll to the bottom so it can instantly be read
            InfoTextbox.ScrollToEnd();
        }
Пример #4
0
 public Message(Logger.LogType msgType, string msgUser, string msg)
 {
     timestamp = DateTime.Now.ToString("yyyyMMddHHmm");
     type      = msgType;
     user      = msgUser;
     message   = msg;
 }
Пример #5
0
        public void WriteLine(string log, Logger.LogType type = Logger.LogType.Info)
        {
            switch (type)
            {
            case Logger.LogType.Error:
                log = DateTime.Now.ToString(CultureInfo.InvariantCulture) + "错误:" + log;
                break;

            case Logger.LogType.Info:
                log = DateTime.Now.ToString(CultureInfo.InvariantCulture) + "信息:" + log;
                break;

            case Logger.LogType.Crash:
                log = DateTime.Now.ToString(CultureInfo.InvariantCulture) + "崩溃:" + log;
                break;

            case Logger.LogType.Exception:
                log = DateTime.Now.ToString(CultureInfo.InvariantCulture) + "异常:" + log;
                break;

            case Logger.LogType.Game:
                log = DateTime.Now.ToString(CultureInfo.InvariantCulture) + "游戏:" + log;
                break;

            case Logger.LogType.Fml:
                log = DateTime.Now.ToString(CultureInfo.InvariantCulture) + "FML :" + log;
                break;

            default:
                log = DateTime.Now.ToString(CultureInfo.InvariantCulture) + "信息:" + log;
                break;
            }
            Dispatcher.Invoke(new System.Windows.Forms.MethodInvoker(delegate { ListLog.Items.Add(log); ListLog.ScrollIntoView(ListLog.Items[ListLog.Items.Count - 1]); }));
        }
Пример #6
0
        public void WriteLine(string Log, Logger.LogType Type = Logger.LogType.Info)
        {
            switch (Type)
            {
            case Logger.LogType.Error:
                Log = DateTime.Now.ToString() + "错误:" + Log;
                break;

            case Logger.LogType.Info:
                Log = DateTime.Now.ToString() + "信息:" + Log;
                break;

            case Logger.LogType.Crash:
                Log = DateTime.Now.ToString() + "崩溃:" + Log;
                break;

            case Logger.LogType.Exception:
                Log = DateTime.Now.ToString() + "异常:" + Log;
                break;

            case Logger.LogType.Game:
                Log = DateTime.Now.ToString() + "游戏:" + Log;
                break;

            case Logger.LogType.Fml:
                Log = DateTime.Now.ToString() + "FML :" + Log;
                break;

            default:
                Log = DateTime.Now.ToString() + "信息:" + Log;
                break;
            }
            Dispatcher.Invoke(new System.Windows.Forms.MethodInvoker(delegate { listLog.Items.Add(Log); listLog.ScrollIntoView(listLog.Items[listLog.Items.Count - 1]); }));
        }
Пример #7
0
 public void LogFormat(Logger.LogType logType, Object context, string format, params object[] args)
 {
     if (this.IsLogTypeAllowed(logType))
     {
         this._logHandler.LogFormat(logType, context, format, args);
     }
 }
Пример #8
0
 protected void LogMessage(string message, Logger.LogType type)
 {
     if (Log != null)
     {
         Log(this, new LogEventArgs(message, type));
     }
     Logger.Log(message, type);
 }
Пример #9
0
 public void Log(Logger.LogType logType, object message, Object context)
 {
     if (this.IsLogTypeAllowed(logType))
     {
         this._logHandler.LogFormat(logType, context, "{0}", new object[]
         {
             Logger.GetString(message)
         });
     }
 }
Пример #10
0
 public void Log(Logger.LogType logType, string tag, object message)
 {
     if (this.IsLogTypeAllowed(logType))
     {
         this._logHandler.LogFormat(logType, null, "{0}: {1}", new object[]
         {
             tag,
             Logger.GetString(message)
         });
     }
 }
Пример #11
0
        public void Init(Logger.LogType logType)
        {
            switch (logType)
            {
            case Logger.LogType.JSON:
                logger = new JSONLogger();
                break;

            case Logger.LogType.XML:
                logger = new XMLLogger();
                break;

            case Logger.LogType.TXT:
                logger = new TXTLogger();
                break;
            }
        }
Пример #12
0
        public void LogAction(Exception exception, Logger.LogType logType = Logger.LogType.ERROR, string message = null)
        {
            if (exception == null)
            {
                exception = new Exception(message);
            }
//#if __IOS__ || __ANDROID__
            try
            {
                switch (logType)
                {
                case Logger.LogType.NAVIGATE:
                    break;

                case Logger.LogType.INFO:
                    System.Diagnostics.Debug.WriteLine(message ?? exception?.Message, Logger.LogType.INFO.ToString());
                    _analyticsService.LogEvent(Logger.LogType.INFO.ToString(), "Info", message ?? exception?.Message);
                    break;

                case Logger.LogType.WARNING:
                    System.Diagnostics.Debug.WriteLine(message ?? exception?.Message, Logger.LogType.WARNING.ToString());
                    _analyticsService.LogEvent(Logger.LogType.WARNING.ToString(), "Warning", message ?? exception?.Message);
                    break;

                case Logger.LogType.ERROR:
                    System.Diagnostics.Debug.WriteLine(message ?? exception?.Message, Logger.LogType.ERROR.ToString());
                    _analyticsService.LogEvent(Logger.LogType.ERROR.ToString(), "Error", message ?? exception?.Message);
                    break;

                default:
                    break;
                }
            }
            catch
            {
            }
//#else
            //;
//#endif
        }
        private void TryToSetLogLevelFromSettings()
        {
            if (settings != null)
            {
                string logLevelStr;
                if (settings.TryGetValue(logLevelkey, out logLevelStr))
                {
                    switch (logLevelStr)
                    {
                    case "all":
                        logMask = Logger.LogType.ERROR | Logger.LogType.WARNING | Logger.LogType.MSG | Logger.LogType.APPLICATION;
                        break;

                    case "application":
                        logMask = Logger.LogType.APPLICATION;
                        break;

                    default:
                        logMask = defaultLogMask;
                        break;
                    }
                }
            }
        }
Пример #14
0
 public LoggerEventArgs(string text, Logger.LogType type)
     : base()
 {
     _Text = text;
     _Type = Logger.LogType.Information;
 }
Пример #15
0
 public override void WriteLog(Logger.LogType type, string component, string message)
 {
     Object.WriteLog(type, component, message);
 }
Пример #16
0
 public LogEventArgs(string logMessage, Logger.LogType logType)
 {
     Message = logMessage;
     LogType = logType;
 }
Пример #17
0
 public LogEventArgs(string logMessage)
 {
     Message = logMessage;
     LogType = Logger.LogType.Info;
 }
Пример #18
0
        /// <summary>
        /// the Method to handle all Info passed to Log Method,
        /// firstly the Console Color is captured for later use. Switch Statement checks
        /// which type of Log will be written so the right Prefix gets written
        /// to Variable LType. if Timestamp should be saved. this is saved too.
        /// finaly Method checks where to write the log to and fires the
        /// corresponding Method.
        /// </summary>
        /// <param name="LogType"></param>
        /// <param name="Message"></param>
        /// <param name="withColor"></param>
        private void CreateLog(Logger.LogType LogType, String Message, bool withColor)
        {
            string       LType = "";
            ConsoleColor col   = ConsoleColor.White;

            switch (LogType)
            {
            case LogType.Debug:
                LType = "[DEBUG]";
                col   = ConsoleColor.Yellow;
                break;

            case LogType.Error:
                LType = "[ERROR]";
                col   = ConsoleColor.Red;
                break;

            case LogType.Info:
                LType = "[INFO]";
                col   = ConsoleColor.Green;
                break;

            case LogType.Verbose:
                LType = "[VERBOSE]";
                col   = ConsoleColor.White;
                break;

            case LogType.Warn:
                LType = "[WARN]";
                col   = ConsoleColor.Magenta;
                break;
            }
            if (this.logtimestamp)
            {
                DateTime dt = DateTime.Now;
                Message = dt.ToString() + ":" + dt.Millisecond + LType + ":" + Message;
            }
            else
            {
                Message = LType + ":" + Message;
            }

            if (this.logtoobject)
            {
                //Methode aufrufen für LogToObject
                WriteLogToObject(Message);
            }
            else
            {
                // Methode aufrufen um Log in Datei zu schreiben
                WriteLogToFile(Message);
            }
            if (this.extralog)
            {
                //Methode aufrufen um Extra Log in Datei zu schreiben
                WriteLogToFile(Message);
            }
            if (this.logtostdout)
            {
                // methode aufrufen um Meldung auf stdout auszugeben.

                if (withColor)
                {
                    WriteLogToStdOut(col, Message);
                }
                else
                {
                    WriteLogToStdOut(Message);
                }
            }
        }
Пример #19
0
 /// <summary>
 /// Method to Handle Log Command from Other Project
 /// </summary>
 /// <param name="LogType">The Type of Logmessage e.g. Error, Warm etc.</param>
 /// <param name="Message">Message which will be written to Log</param>
 /// <param name="withColor">Color which the Type will display if Color is useable, e.g. Graphical Console, RichTextBox</param>
 public void Log(Logger.LogType LogType, string Message, bool withColor)
 {
     CreateLog(LogType, Message, withColor);
 }
Пример #20
0
 /// <summary>
 /// Method to Handle Log Command from other Project
 /// </summary>
 /// <param name="LogType">The Type of Logmessage e.g. Error, Warm etc.</param>
 /// <param name="Message">Message which will be written to Log</param>
 public void Log(Logger.LogType LogType, string Message)
 {
     CreateLog(LogType, Message, false);
 }
Пример #21
0
        public PortalViewModel()
        {
            this.SelectorShipDrop = true;
            this.currentLogType = Logger.LogType.ShipDrop;
			this.CurrentPage = 1;

            this.Update();

            try
            {

                this._watcher = new FileSystemWatcher(Directory.GetParent(Logger.LogFolder).ToString())
                {
                    IncludeSubdirectories = true,
                    NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.CreationTime | NotifyFilters.FileName,
                    Filter = Logger.LogParameters[this.currentLogType].FileName,
                    EnableRaisingEvents = true
                };

                this._watcher.Changed += (sender, e) => { this.Update(); };
                this._watcher.Created += (sender, e) => { this.Update(); };
                this._watcher.Deleted += (sender, e) => { this.Update(); };
                this._watcher.Renamed += (sender, e) => { this.Update(); };
            }
            catch (Exception)
            {
                if (this._watcher != null)
                    this._watcher.EnableRaisingEvents = false;
            }
        }
Пример #22
0
 public Summary(string message, Logger.LogType logType)
 {
     Message = message;
     LogType = logType;
 }
Пример #23
0
 public bool IsLogTypeAllowed(Logger.LogType logType)
 {
     return(this._logEnabled && (logType <= this._filterLogType || logType == Logger.LogType.Exception));
 }
Пример #24
0
 public Logger(ILogHandler logHandler)
 {
     this._logHandler    = logHandler;
     this._logEnabled    = true;
     this._filterLogType = Logger.LogType.Log;
 }