示例#1
0
        protected override void AddEntry(DateTime dateTime, ELogEntryType entryType, string message)
        {
            switch (entryType)
            {
            case ELogEntryType.None:
                break;

            case ELogEntryType.Log:
                Write(dateTime, message, UnityEngine.Debug.Log);
                break;

            case ELogEntryType.Warn:
                Write(dateTime, message, UnityEngine.Debug.LogWarning);
                break;

            case ELogEntryType.Error:
                // TODO: have to use this if running as a unit test - but there is no way to tell?
                //Write(dateTime, message, (str) => UnityEngine.TestTools.LogAssert.Expect(LogType.Error, str));
                Write(dateTime, message, UnityEngine.Debug.LogError);
                break;

            case ELogEntryType.Everything:
                break;
            }
        }
示例#2
0
 /// <summary>
 /// Creates a new instance with the given arguments.
 /// </summary>
 /// <param name="logEntryType">Log entry type</param>
 /// <param name="message">Message to log</param>
 /// <param name="exception">Exception to log</param>
 /// <param name="pluginName">Name of the plug-in that is source of the entry</param>
 public ErrorLogEntry(ELogEntryType logEntryType, string message, Exception exception, string pluginName)
 {
     LogEntryType = logEntryType;
     Message      = message;
     Exception    = exception;
     PluginName   = pluginName;
     Timestamp    = DateTime.Now;
 }
示例#3
0
 public void Add(ELogEntryType logentrytype, string sourcename, string messsage)
 {
     CLogEntry logentry;
     lock (this)
     {
         logentry = new CLogEntry(logentrytype, sourcename, messsage);
         LogEntries.Add(logentry);
     }
     OnAddToLog(logentry);
 }
示例#4
0
        public void Add(ELogEntryType logentrytype, string sourcename, string messsage)
        {
            CLogEntry logentry;

            lock (this)
            {
                logentry = new CLogEntry(logentrytype, sourcename, messsage);
                LogEntries.Add(logentry);
            }
            OnAddToLog(logentry);
        }
示例#5
0
        /// <summary>
        /// Adds an entry with the given arguments to the error log.
        /// </summary>
        /// <param name="logEntryType">Log entry type</param>
        /// <param name="pluginName">Name of the bundle that is the source of the log entry</param>
        /// <param name="message">Log entry message</param>
        /// <param name="exception">Log entry exception</param>
        public void Add(ELogEntryType logEntryType, string pluginName, string message, Exception exception)
        {
            if (exception == null && string.IsNullOrEmpty(message))
            {
                throw new ArgumentException("An exception or a message must be given");
            }

            ErrorLogEntry errorLogEntry = new ErrorLogEntry(logEntryType, message ?? exception.Message, exception, pluginName);

            // TODO Write error log entry into a file

            // Log entry
            if (logEntryType == ELogEntryType.Error)
            {
                _log.Error(errorLogEntry.Message + $" ({pluginName})", errorLogEntry.Exception);
            }
            else
            {
                _log.Warning(errorLogEntry.Message + $" ({pluginName})", errorLogEntry.Exception);
            }

            // Dispatch event
            Added.Dispatch(new object[] { this, errorLogEntry }, OnDispatchError);
        }
示例#6
0
 public CLogEntry(ELogEntryType logentrytype, string sourcename, string messsage)
 {
     LogEntryType = logentrytype;
     SourceName = sourcename;
     Messsage = messsage;
 }
示例#7
0
 protected override void AddEntry(DateTime dateTime, ELogEntryType entryType, string message)
 {
     Console.WriteLine("{0}: {1}: {2}", MakeTimeString(dateTime), entryType, message);
 }
示例#8
0
 public ConsoleLogger(ELogEntryType entryType, string name = "") : base(entryType, name)
 {
 }
示例#9
0
 public CLogEntry(ELogEntryType logentrytype, string sourcename, string messsage)
 {
     LogEntryType = logentrytype;
     SourceName   = sourcename;
     Messsage     = messsage;
 }
示例#10
0
 public UnityLogger(ELogEntryType entryType, string name = "") : base(entryType, name)
 {
 }