Пример #1
0
        internal LoggerTarget GetTargets(LoggerEventType eventType)
        {
            LoggerTarget options;

            switch (eventType)
            {
            case LoggerEventType.Error:
                options = this.Error;
                break;

            case LoggerEventType.Warning:
                options = this.Warn;
                break;

            case LoggerEventType.Debug:
                options = this.Debug;
                break;

            default:
                options = this.Information;
                break;
            }
            if (options > 0)
            {
                return(options);
            }
            return(this.All);
        }
Пример #2
0
        public void LogEvent(LoggerEventType level, string message, object[] args)
        {
            TraceSource traceSource = _traceSources.GetOrAdd(_sourceName, CreateTraceSource);

            if (ArrayUtils.IsNullOrEmpty(args))
            {
                traceSource.TraceEvent(MapLevelToEventType(level), 0, message);
            }
            else
            {
                traceSource.TraceEvent(MapLevelToEventType(level), 0, message, args);
            }
        }
Пример #3
0
        private static void WriteLog(LoggerEventType eventType, LoggerOptionsAttribute options, string message)
        {
            LoggerTarget targets = options.GetTargets(eventType);

            if (targets.HasFlag(LoggerTarget.Console))
            {
                ConsoleColor originalColor = Console.ForegroundColor;
                try {
                    Console.ForegroundColor = GetConsoleColor(eventType);
                    Console.WriteLine(message);
                } finally {
                    Console.ForegroundColor = originalColor;
                }
            }
            if (targets.HasFlag(LoggerTarget.EntLib))
            {
                try {
                    LogEntry entry = new LogEntry();
                    entry.Message  = message;
                    entry.Priority = 10 - (int)eventType;
                    entry.Severity = GetTraceEventType(eventType);
                    entry.EventId  = -1;
                    if (!String.IsNullOrEmpty(options.Category))
                    {
                        entry.Categories.Add(options.Category);
                    }
                    EntLibLogger.Write(entry);
                } catch { }
            }
            if (targets.HasFlag(LoggerTarget.UlsLog))
            {
                SPDiagnosticsCategory dCat = new SPDiagnosticsCategory(options.Category, GetTraceSeverity(eventType), GetEventSeverity(eventType));
                SPDiagnosticsService.Local.WriteTrace(0, dCat, GetTraceSeverity(eventType), message);
            }
            if (targets.HasFlag(LoggerTarget.EventLog))
            {
                if (!EventLog.SourceExists(options.Category))
                {
                    EventLog.CreateEventSource(options.Category, options.Category);
                    while (!EventLog.SourceExists(options.Category))
                    {
                        Thread.Sleep(100);
                    }
                }
                EventLog.WriteEntry(options.Category, message, GetEventLogEntryType(eventType), 0);
            }
        }
Пример #4
0
        private static ConsoleColor GetConsoleColor(LoggerEventType eventType)
        {
            switch (eventType)
            {
            case LoggerEventType.Debug:
                return(ConsoleColor.Green);

            case LoggerEventType.Warning:
                return(ConsoleColor.Yellow);

            case LoggerEventType.Error:
                return(ConsoleColor.Red);

            default:
                return(Console.ForegroundColor);
            }
        }
Пример #5
0
        private static EventSeverity GetEventSeverity(LoggerEventType eventType)
        {
            switch (eventType)
            {
            case LoggerEventType.Information:
            case LoggerEventType.Debug:
                return(EventSeverity.Verbose);

            case LoggerEventType.Warning:
                return(EventSeverity.Warning);

            case LoggerEventType.Error:
                return(EventSeverity.Error);

            default:
                return(EventSeverity.Information);
            }
        }
Пример #6
0
        private static EventLogEntryType GetEventLogEntryType(LoggerEventType eventType)
        {
            switch (eventType)
            {
            case LoggerEventType.Information:
            case LoggerEventType.Debug:
                return(EventLogEntryType.Information);

            case LoggerEventType.Warning:
                return(EventLogEntryType.Warning);

            case LoggerEventType.Error:
                return(EventLogEntryType.Error);

            default:
                return(EventLogEntryType.Information);
            }
        }
Пример #7
0
        private static TraceEventType GetTraceEventType(LoggerEventType eventType)
        {
            switch (eventType)
            {
            case LoggerEventType.Information:
                return(TraceEventType.Information);

            case LoggerEventType.Debug:
                return(TraceEventType.Verbose);

            case LoggerEventType.Warning:
                return(TraceEventType.Warning);

            case LoggerEventType.Error:
                return(TraceEventType.Error);

            default:
                return(TraceEventType.Information);
            }
        }
Пример #8
0
        private static TraceSeverity GetTraceSeverity(LoggerEventType eventType)
        {
            switch (eventType)
            {
            case LoggerEventType.Information:
                return(TraceSeverity.Medium);

            case LoggerEventType.Debug:
                return(TraceSeverity.Verbose);

            case LoggerEventType.Warning:
                return(TraceSeverity.Monitorable);

            case LoggerEventType.Error:
                return(TraceSeverity.Unexpected);

            default:
                return(TraceSeverity.Medium);
            }
        }
Пример #9
0
        private static TraceEventType MapLevelToEventType(LoggerEventType level)
        {
            switch (level)
            {
            case LoggerEventType.Critical:
                return(TraceEventType.Critical);

            case LoggerEventType.Error:
                return(TraceEventType.Error);

            case LoggerEventType.Warning:
                return(TraceEventType.Warning);

            case LoggerEventType.Info:
                return(TraceEventType.Information);

            case LoggerEventType.Verbose:
                return(TraceEventType.Verbose);

            default:
                throw new NotSupportedException();
            }
        }
 public static EventId GenerateEventId(LoggerEventType eventType)
 {
     return(new EventId((int)eventType, eventType.ToString()));
 }
Пример #11
0
 public void LogEvent(LoggerEventType level, string message, params object[] args)
 {
 }