当前位置: 首页>>代码示例>>C#>>正文


C# LoggerResult.Info方法代码示例

本文整理汇总了C#中LoggerResult.Info方法的典型用法代码示例。如果您正苦于以下问题:C# LoggerResult.Info方法的具体用法?C# LoggerResult.Info怎么用?C# LoggerResult.Info使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在LoggerResult的用法示例。


在下文中一共展示了LoggerResult.Info方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: TestLocalLogger

        public void TestLocalLogger()
        {
            var log = new LoggerResult();

            log.Info("#0");
            Assert.That(log.Messages.Count, Is.EqualTo(1));
            Assert.That(log.Messages[0].Type, Is.EqualTo(LogMessageType.Info));
            Assert.That(log.Messages[0].Text, Is.EqualTo("#0"));

            log.Info("#{0}", 1);
            Assert.That(log.Messages.Count, Is.EqualTo(2));
            Assert.That(log.Messages[1].Type, Is.EqualTo(LogMessageType.Info));
            Assert.That(log.Messages[1].Text, Is.EqualTo("#1"));

            Assert.That(log.HasErrors, Is.False);

            log.Error("#2");
            Assert.That(log.Messages.Count, Is.EqualTo(3));
            Assert.That(log.Messages[2].Type, Is.EqualTo(LogMessageType.Error));
            Assert.That(log.Messages[2].Text, Is.EqualTo("#2"));

            Assert.That(log.HasErrors, Is.True);

            log.Error("#{0}", 3);
            Assert.That(log.Messages.Count, Is.EqualTo(4));
            Assert.That(log.Messages[3].Type, Is.EqualTo(LogMessageType.Error));
            Assert.That(log.Messages[3].Text, Is.EqualTo("#3"));

            // Activate log from Info to Fatal. Verbose won't be logged.
            log.ActivateLog(LogMessageType.Info);
            log.Verbose("#4");
            Assert.That(log.Messages.Count, Is.EqualTo(4));

            // Activate log from Verbose to Fatal. Verbose will be logged
            log.ActivateLog(LogMessageType.Verbose);
            log.Verbose("#4");
            Assert.That(log.Messages.Count, Is.EqualTo(5));

            // Activate log from Info to Fatal and only Debug. Verbose won't be logged.
            log.ActivateLog(LogMessageType.Info);
            log.ActivateLog(LogMessageType.Debug, true);
            log.Verbose("#5");
            log.Debug("#6");
            Assert.That(log.Messages.Count, Is.EqualTo(6));
            Assert.That(log.Messages[5].Text, Is.EqualTo("#6"));
        }
开发者ID:cg123,项目名称:xenko,代码行数:46,代码来源:TestLogger.cs

示例2: CompileBytecode

        private EffectBytecodeCompilerResult CompileBytecode(ShaderMixinSource mixinTree, CompilerParameters compilerParameters, ObjectId mixinObjectId, DatabaseFileProvider database, string compiledUrl, ShaderMixinParameters usedParameters)
        {
            // Open the database for writing
            var log = new LoggerResult();

            // Note: this compiler is expected to not be async and directly write stuff in localLogger
            var compiledShader = base.Compile(mixinTree, compilerParameters).WaitForResult();
            compiledShader.CompilationLog.CopyTo(log);
            
            // If there are any errors, return immediately
            if (log.HasErrors)
            {
                lock (compilingShaders)
                {
                    compilingShaders.Remove(mixinObjectId);
                }

                return new EffectBytecodeCompilerResult(null, log);
            }

            // Compute the bytecodeId
            var newBytecodeId = compiledShader.Bytecode.ComputeId();

            // Check if we really need to store the bytecode
            lock (bytecodes)
            {
                // Using custom serialization to the database to store an object with a custom id
                // TODO: Check if we really need to write the bytecode everytime even if id is not changed
                var memoryStream = new MemoryStream();
                compiledShader.Bytecode.WriteTo(memoryStream);
                memoryStream.Position = 0;
                database.ObjectDatabase.Write(memoryStream, newBytecodeId, true);
                database.AssetIndexMap[compiledUrl] = newBytecodeId;

                // Save bytecode Id to the database cache as well
                memoryStream.SetLength(0);
                memoryStream.Write((byte[])newBytecodeId, 0, ObjectId.HashSize);
                memoryStream.Position = 0;
                database.ObjectDatabase.Write(memoryStream, mixinObjectId, true);

                if (!bytecodes.ContainsKey(newBytecodeId))
                {
                    log.Info("New effect compiled #{0} [{1}] (db: {2})\r\n{3}", effectCompileCount, mixinObjectId, newBytecodeId, usedParameters.ToStringDetailed());
                    Interlocked.Increment(ref effectCompileCount);

                    // Replace or add new bytecode
                    bytecodes[newBytecodeId] = compiledShader.Bytecode;
                }
            }

            lock (compilingShaders)
            {
                compilingShaders.Remove(mixinObjectId);
            }

            return compiledShader;
        }
开发者ID:Powerino73,项目名称:paradox,代码行数:57,代码来源:EffectCompilerCache.cs

示例3: LockProcessAndAddDataToLogger

 /// <summary>
 /// Lock the process and save the string.
 /// </summary>
 /// <param name="process">The current process.</param>
 /// <param name="logger">Logger were out current process.</param>
 /// <param name="isError">Is this the error output or the standard one?</param>
 /// <param name="args">arguments of the process.</param>
 private static void LockProcessAndAddDataToLogger(Process process, LoggerResult logger, bool isError, DataReceivedEventArgs args)
 {
     if (!string.IsNullOrEmpty(args.Data))
     {
         lock (process)
         {
             if (isError)
                 logger.Error(args.Data);
             else
                 logger.Info(args.Data);
         }
     }
 }
开发者ID:cg123,项目名称:xenko,代码行数:20,代码来源:ShellHelper.cs

示例4: TestCallerInfo

        public void TestCallerInfo()
        {
            var log = new LoggerResult();

            // Use the caller information
            log.Info("#0", CallerInfo.Get());
            log.Info("#{0}", 1, CallerInfo.Get());

            Assert.That(log.Messages.Count, Is.EqualTo(2));
            Assert.That(((LogMessage)log.Messages[0]).CallerInfo, Is.Not.Null);
            Assert.That(((LogMessage)log.Messages[0]).CallerInfo.FilePath, Is.StringContaining("TestLogger"));
            Assert.That(((LogMessage)log.Messages[0]).CallerInfo.LineNumber, Is.GreaterThan(0));
            Assert.That(((LogMessage)log.Messages[1]).CallerInfo, Is.Not.Null);
            Assert.That(((LogMessage)log.Messages[1]).CallerInfo.LineNumber, Is.EqualTo(((LogMessage)log.Messages[0]).CallerInfo.LineNumber + 1));
        }
开发者ID:cg123,项目名称:xenko,代码行数:15,代码来源:TestLogger.cs


注:本文中的LoggerResult.Info方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。