Exemplo n.º 1
0
 public void Log(LoggingEventType entry, string message)
 {
     // TODO: Implement your favourite logger here
     // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-2.2
     // https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-2
     Trace.WriteLine(message, entry.ToString());
     // Debug.WriteLine("Debug: " + message, entry.ToString());
 }
Exemplo n.º 2
0
        private static IConfigurationWriter BuildConfigurationWithThreshold(string providerName,
                                                                            LoggingEventType threshold)
        {
            var configBuilder = new ConfigurationBuilder()
            {
                Logging = new LoggingConfigurationBuilder()
                {
                    DefaultProvider = providerName,
                    Providers       =
                    {
                        // <provider name="[providerName]" type="MemoryLoggingProvider" threshold="..." />
                        new ProviderConfigLine()
                        {
                            Name             = providerName,
                            Type             = typeof(MemoryLoggingProvider),
                            CustomAttributes = @"threshold=""" + threshold.ToString() + @""""
                        }
                    }
                },
            };

            return(configBuilder.Build());
        }
Exemplo n.º 3
0
        /// <summary>
        /// Given a build event that is presumed to be 2.0 (due to its lack of a "ReadFromStream" method) and its
        /// LoggingEventType, read that event from the stream.
        /// </summary>
        private BuildEventArgs ReadEventFromStream(LoggingEventType eventType, ITranslator translator)
        {
            string message     = null;
            string helpKeyword = null;
            string senderName  = null;

            translator.Translate(ref message);
            translator.Translate(ref helpKeyword);
            translator.Translate(ref senderName);

            BuildEventArgs buildEvent = null;

            switch (eventType)
            {
            case LoggingEventType.TaskCommandLineEvent:
                buildEvent = ReadTaskCommandLineEventFromStream(translator, message, helpKeyword, senderName);
                break;

            case LoggingEventType.BuildErrorEvent:
                buildEvent = ReadTaskBuildErrorEventFromStream(translator, message, helpKeyword, senderName);
                break;

            case LoggingEventType.ProjectStartedEvent:
                buildEvent = ReadExternalProjectStartedEventFromStream(translator, message, helpKeyword, senderName);
                break;

            case LoggingEventType.ProjectFinishedEvent:
                buildEvent = ReadExternalProjectFinishedEventFromStream(translator, message, helpKeyword, senderName);
                break;

            case LoggingEventType.BuildMessageEvent:
                buildEvent = ReadBuildMessageEventFromStream(translator, message, helpKeyword, senderName);
                break;

            case LoggingEventType.BuildWarningEvent:
                buildEvent = ReadBuildWarningEventFromStream(translator, message, helpKeyword, senderName);
                break;

            default:
                ErrorUtilities.ThrowInternalError("Not Supported LoggingEventType {0}", eventType.ToString());
                break;
            }

            return(buildEvent);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Given a build event that is presumed to be 2.0 (due to its lack of a "WriteToStream" method) and its
        /// LoggingEventType, serialize that event to the stream.
        /// </summary>
        private void WriteEventToStream(BuildEventArgs buildEvent, LoggingEventType eventType, ITranslator translator)
        {
            string message     = buildEvent.Message;
            string helpKeyword = buildEvent.HelpKeyword;
            string senderName  = buildEvent.SenderName;

            translator.Translate(ref message);
            translator.Translate(ref helpKeyword);
            translator.Translate(ref senderName);

            // It is essential that you translate in the same order during writing and reading
            switch (eventType)
            {
            case LoggingEventType.BuildMessageEvent:
                WriteBuildMessageEventToStream((BuildMessageEventArgs)buildEvent, translator);
                break;

            case LoggingEventType.TaskCommandLineEvent:
                WriteTaskCommandLineEventToStream((TaskCommandLineEventArgs)buildEvent, translator);
                break;

            case LoggingEventType.BuildErrorEvent:
                WriteBuildErrorEventToStream((BuildErrorEventArgs)buildEvent, translator);
                break;

            case LoggingEventType.BuildWarningEvent:
                WriteBuildWarningEventToStream((BuildWarningEventArgs)buildEvent, translator);
                break;

            case LoggingEventType.ProjectStartedEvent:
                WriteExternalProjectStartedEventToStream((ExternalProjectStartedEventArgs)buildEvent, translator);
                break;

            case LoggingEventType.ProjectFinishedEvent:
                WriteExternalProjectFinishedEventToStream((ExternalProjectFinishedEventArgs)buildEvent, translator);
                break;

            default:
                ErrorUtilities.ThrowInternalError("Not Supported LoggingEventType {0}", eventType.ToString());
                break;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Given a build event that is presumed to be 2.0 (due to its lack of a "ReadFromStream" method) and its 
        /// LoggingEventType, read that event from the stream. 
        /// </summary>
        private BuildEventArgs ReadEventFromStream(LoggingEventType eventType, INodePacketTranslator translator)
        {
            string message = null;
            string helpKeyword = null;
            string senderName = null;

            translator.Translate(ref message);
            translator.Translate(ref helpKeyword);
            translator.Translate(ref senderName);

            BuildEventArgs buildEvent = null;
            switch (eventType)
            {
                case LoggingEventType.TaskCommandLineEvent:
                    buildEvent = ReadTaskCommandLineEventFromStream(translator, message, helpKeyword, senderName);
                    break;
                case LoggingEventType.BuildErrorEvent:
                    buildEvent = ReadTaskBuildErrorEventFromStream(translator, message, helpKeyword, senderName);
                    break;
                case LoggingEventType.ProjectStartedEvent:
                    buildEvent = ReadExternalProjectStartedEventFromStream(translator, message, helpKeyword, senderName);
                    break;
                case LoggingEventType.ProjectFinishedEvent:
                    buildEvent = ReadExternalProjectFinishedEventFromStream(translator, message, helpKeyword, senderName);
                    break;
                case LoggingEventType.BuildMessageEvent:
                    buildEvent = ReadBuildMessageEventFromStream(translator, message, helpKeyword, senderName);
                    break;
                case LoggingEventType.BuildWarningEvent:
                    buildEvent = ReadBuildWarningEventFromStream(translator, message, helpKeyword, senderName);
                    break;
                default:
                    ErrorUtilities.ThrowInternalError("Not Supported LoggingEventType {0}", eventType.ToString());
                    break;
            }

            return buildEvent;
        }
Exemplo n.º 6
0
        /// <summary>
        /// Given a build event that is presumed to be 2.0 (due to its lack of a "WriteToStream" method) and its 
        /// LoggingEventType, serialize that event to the stream. 
        /// </summary>
        private void WriteEventToStream(BuildEventArgs buildEvent, LoggingEventType eventType, INodePacketTranslator translator)
        {
            string message = buildEvent.Message;
            string helpKeyword = buildEvent.HelpKeyword;
            string senderName = buildEvent.SenderName;

            translator.Translate(ref message);
            translator.Translate(ref helpKeyword);
            translator.Translate(ref senderName);

            // It is essential that you translate in the same order during writing and reading
            switch (eventType)
            {
                case LoggingEventType.BuildMessageEvent:
                    WriteBuildMessageEventToStream((BuildMessageEventArgs)buildEvent, translator);
                    break;
                case LoggingEventType.TaskCommandLineEvent:
                    WriteTaskCommandLineEventToStream((TaskCommandLineEventArgs)buildEvent, translator);
                    break;
                case LoggingEventType.BuildErrorEvent:
                    WriteBuildErrorEventToStream((BuildErrorEventArgs)buildEvent, translator);
                    break;
                case LoggingEventType.BuildWarningEvent:
                    WriteBuildWarningEventToStream((BuildWarningEventArgs)buildEvent, translator);
                    break;
                case LoggingEventType.ProjectStartedEvent:
                    WriteExternalProjectStartedEventToStream((ExternalProjectStartedEventArgs)buildEvent, translator);
                    break;
                case LoggingEventType.ProjectFinishedEvent:
                    WriteExternalProjectFinishedEventToStream((ExternalProjectFinishedEventArgs)buildEvent, translator);
                    break;
                default:
                    ErrorUtilities.ThrowInternalError("Not Supported LoggingEventType {0}", eventType.ToString());
                    break;
            }
        }