예제 #1
0
        protected Test(ITestOutputHelper outputHelper)
        {
            var config = Logging.NLog.Configure();
            var layout = config.AllTargets.OfType <TargetWithLayout>().First().Layout;

            // Step 2. Create targets
            var testTarget = new TestOutputTarget
            {
                Name   = "Test",
                Layout = layout,
            };

            config.AddTarget(testTarget);

            if (Configuration.LogEnabled("GridSum"))
            {
                TestOutputHelpers.AddTestOutputHelper(outputHelper, "Gridsum.DataflowEx", false);
                TestOutputHelpers.AddTestOutputHelper(outputHelper, "Gridsum.DataflowEx.PerfMon", false);
            }

            if (Configuration.LogEnabled("InMemoryStreamStore"))
            {
                TestOutputHelpers.AddTestOutputHelper(outputHelper, "InMemoryStreamStore", false);
            }

            Logging.NLog.Enable(config, LogEnabled);

            LogManager.Configuration = config;
            _logger = outputHelper.GetNLogLogger();
        }
        public static void RemoveTestOutputHelper(this ILog log)
        {
            var commonKey = log.GetHashCode();

            string name;

            if (CommonMap.TryRemove(commonKey, out name))
            {
                TestOutputHelpers.RemoveTestOutputHelper(name);
            }
        }
        public static ILogger GetNLogLogger(
            this ITestOutputHelper testOutputHelper,
            string loggerName,
            bool addNumericSuffix = false)
        {
            var addedName = TestOutputHelpers.AddTestOutputHelper(
                testOutputHelper,
                loggerName,
                addNumericSuffix);

            return(LogManager.GetLogger(addedName));
        }
        public static ILog GetCommonLog(
            this ITestOutputHelper testOutputHelper,
            string loggerName,
            bool addNumericSuffix = false)
        {
            var addedName = TestOutputHelpers.AddTestOutputHelper(
                testOutputHelper,
                loggerName,
                addNumericSuffix);

            var log       = LogManager.GetLogger(addedName);
            var commonKey = log.GetHashCode();

            if (CommonMap.TryAdd(commonKey, addedName))
            {
                return(log);
            }

            TestOutputHelpers.RemoveTestOutputHelper(addedName);
            throw new ArgumentException("ILog hash code already in use");
        }
 public static void RemoveTestOutputHelper(this ILogger logger)
 {
     TestOutputHelpers.RemoveTestOutputHelper(logger.Name);
 }