示例#1
0
 private void WriteLine(JasilyLoggerMode mode, Type type, string messageType, string message, string member, int line)
 {
     if (this.NeedLog(mode))
     {
         this.RawOutput(mode, new JasilyLoggerData(messageType, message, type, member, line));
     }
 }
示例#2
0
 public void WriteException(JasilyLoggerMode mode, Type type, Exception e,
                            [CallerMemberName] string member = "", [CallerLineNumber] int line = 0)
 {
     if (this.NeedLog(mode))
     {
         do
         {
             this.WriteLine(mode, type, "THROW", FormatException(e), member, line);
         } while ((e = e.InnerException) != null);
     }
 }
示例#3
0
        private void RawOutput(JasilyLoggerMode mode, JasilyLoggerData data)
        {
            var msg = data.Format(true);

#if DEBUG
            Debug.WriteLine(msg);
#else
            Debug.WriteLine(Concat(data.DateTime.ToString("HH:mm:ss"), " ", msg));
#endif

            if (HasFlag(mode, JasilyLoggerMode.RealTimeTrack))
            {
                this.RealTimeTrackEvent?.Invoke(this, data);
            }
        }
示例#4
0
        private bool NeedLog(JasilyLoggerMode mode)
        {
            if (mode == JasilyLoggerMode.NotLog)
            {
                return(false);
            }
#if DEBUG
            if (HasFlag(mode, JasilyLoggerMode.Release))
            {
                return(false);
            }
#else
            if (HasFlag(mode, JasilyLoggerMode.Debug))
            {
                return(false);
            }
#endif
            return(true);
        }
示例#5
0
 public void WriteException <T>(JasilyLoggerMode mode, Exception e,
                                [CallerMemberName] string member = "", [CallerLineNumber] int line = 0)
 => this.WriteException(mode, typeof(T), e, member, line);
示例#6
0
 public void WriteError(JasilyLoggerMode mode, Type type, string message,
                        [CallerMemberName] string member = "", [CallerLineNumber] int line = 0)
 => this.WriteLine(mode, type, "ERROR", message, member, line);
示例#7
0
 public void WriteError <T>(JasilyLoggerMode mode, string message,
                            [CallerMemberName] string member = "", [CallerLineNumber] int line = 0)
 => this.WriteError(mode, typeof(T), message, member, line);
示例#8
0
 private static bool HasFlag(JasilyLoggerMode value, JasilyLoggerMode flag)
 {
     return(((byte)value & (byte)flag) == (byte)flag);
 }
 public static void LogException <T>(this IJasilyLoggerObject <T> obj,
                                     JasilyLoggerMode mode, Exception e, [CallerMemberName] string member = "", [CallerLineNumber] int line = 0)
 => obj.GetLogger().WriteException(mode, obj.SelectType(), e, member, line);
 public static void LogError <T>(this IJasilyLoggerObject <T> obj,
                                 JasilyLoggerMode mode, string message, [CallerMemberName] string member = "", [CallerLineNumber] int line = 0)
 => obj.GetLogger().WriteError(mode, obj.SelectType(), message, member, line);