view Implab/Diagnostics/Log.cs @ 35:2880242f987a diagnostics

initial log capabilities
author cin
date Mon, 14 Apr 2014 18:25:26 +0400
parents
children
line wrap: on
line source

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Implab.Diagnostics {
    public static class Log {
        [Conditional("TRACE")]
        public static void Transfer(LogContext from) {
            LogContext.Transfer(from);
        }

        [Conditional("TRACE")]
        public static void StartLogicalOperation() {
            LogContext.Current.StartLogicalOperation();
        }

        [Conditional("TRACE")]
        public static void StartLogicalOperation(string name) {
            LogContext.Current.StartLogicalOperation(name);
        }

        [Conditional("TRACE")]
        public static void EndLogicalOperation() {
            LogContext.Current.EndLogicalOperation();
        }

        [Conditional("TRACE")]
        public static void TraceInformation(string format, params object[] arguments) {
            LogContext.Current.TraceEvent(TraceEventType.Information, format, arguments);
        }

        [Conditional("TRACE")]
        public static void TraceWarning(string format, params object[] arguments) {
            LogContext.Current.TraceEvent(TraceEventType.Warning, format, arguments);
        }

        [Conditional("TRACE")]
        public static void TraceError(string format, params object[] arguments) {
            LogContext.Current.TraceEvent(TraceEventType.Error, format, arguments);
        }

        [Conditional("TRACE")]
        public static void TraceError(Exception err) {
            TraceError("{0}", err);
        }
    }
}