TaskLoggingHelper 클래스

정의

도우미 로깅 클래스 - 작업에서 사용하는 모든 로깅 메서드를 포함합니다.Helper logging class - contains all the logging methods used by tasks. TaskLoggingHelper 개체는 MSBuild에 의해 모든 작업으로 전달됩니다.A TaskLoggingHelper object is passed to every task by MSBuild. 작업 클래스에서 파생되는 작업의 경우 Log 속성에서 제공됩니다.For tasks that derive from the Task class, it is provided in the Log property. 이 클래스는 스레드로부터 안전합니다. 작업은 모든 스레드에서 기록될 수 있습니다.This class is thread safe: tasks can log from any threads.

public ref class TaskLoggingHelper : MarshalByRefObject
public ref class TaskLoggingHelper
public class TaskLoggingHelper : MarshalByRefObject
public class TaskLoggingHelper
type TaskLoggingHelper = class
    inherit MarshalByRefObject
type TaskLoggingHelper = class
Public Class TaskLoggingHelper
Inherits MarshalByRefObject
Public Class TaskLoggingHelper
상속
TaskLoggingHelper
상속
TaskLoggingHelper
파생

예제

다음 예제에서는 하나 이상의 디렉터리를 만드는 작업에 대 한 코드를 보여줍니다.The following example shows the code for a task that creates one or more directories.

using System;
using System.IO;
using System.Security;
using System.Collections;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;

namespace Microsoft.Build.Tasks
{
    /*
     * Class: MakeDir
     *
     * An MSBuild task that creates one or more directories.
     *
     */
    public class MakeDir : Task
    {
        // The Required attribute indicates the following to MSBuild:
        //	     - if the parameter is a scalar type, and it is not supplied, fail the build immediately
        //	     - if the parameter is an array type, and it is not supplied, pass in an empty array
        // In this case the parameter is an array type, so if a project fails to pass in a value for the
            // Directories parameter, the task will get invoked, but this implementation will do nothing,
            // because the array will be empty.
        [Required]
            // Directories to create.
        public ITaskItem[] Directories
        {
            get
            {
                return directories;
            }

            set
            {
                directories = value;
            }
        }

        // The Output attribute indicates to MSBuild that the value of this property can be gathered after the
        // task has returned from Execute(), if the project has an <Output> tag under this task's element for
        // this property.
        [Output]
        // A project may need the subset of the inputs that were actually created, so make that available here.
        public ITaskItem[] DirectoriesCreated
        {
            get
            {
                return directoriesCreated;
            }
        }

        private ITaskItem[] directories;
        private ITaskItem[] directoriesCreated;

        /// <summary>
        /// Execute is part of the Microsoft.Build.Framework.ITask interface.
        /// When it's called, any input parameters have already been set on the task's properties.
        /// It returns true or false to indicate success or failure.
        /// </summary>
        public override bool Execute()
        {
            ArrayList items = new ArrayList();
            foreach (ITaskItem directory in Directories)
            {
                // ItemSpec holds the filename or path of an Item
                if (directory.ItemSpec.Length > 0)
                {
                    try
                    {
                        // Only log a message if we actually need to create the folder
                        if (!Directory.Exists(directory.ItemSpec))
                        {
                            Log.LogMessage(MessageImportance.Normal, "Creating directory " + directory.ItemSpec);
                            Directory.CreateDirectory(directory.ItemSpec);
                        }

                        // Add to the list of created directories
                        items.Add(directory);
                    }
                    // If a directory fails to get created, log an error, but proceed with the remaining
                    // directories.
                    catch (Exception ex)
                    {
                        if (ex is IOException
                            || ex is UnauthorizedAccessException
                            || ex is PathTooLongException
                            || ex is DirectoryNotFoundException
                            || ex is SecurityException)
                        {
                            Log.LogError("Error trying to create directory " + directory.ItemSpec + ". " + ex.Message);
                        }
                        else
                        {
                            throw;
                        }
                    }
                }
            }

            // Populate the "DirectoriesCreated" output items.
            directoriesCreated = (ITaskItem[])items.ToArray(typeof(ITaskItem));

            // Log.HasLoggedErrors is true if the task logged any errors -- even if they were logged
            // from a task's constructor or property setter. As long as this task is written to always log an error
            // when it fails, we can reliably return HasLoggedErrors.
            return !Log.HasLoggedErrors;
        }
    }
}

생성자

TaskLoggingHelper(IBuildEngine, String)

메시지 기록을 위해 작업 팩터리에서 사용할 수 있는 Public 생성자입니다.Public constructor which can be used by task factories to assist them in logging messages.

TaskLoggingHelper(ITask)

공용 생성자public constructor

속성

BuildEngine

빌드 엔진을 가져오기 위한 바로 가기 속성 - 작업 인스턴스에서 검색합니다.Shortcut property for getting our build engine - we retrieve it from the task instance

HasLoggedErrors

작업이 이 로깅 도우미 개체를 통해 오류를 기록했습니까?Has the task logged any errors through this logging helper object?

HelpKeywordPrefix

문자열 리소스 이름에서 도움말 키워드를 작성하는 데 사용되는 접두사를 가져오거나 설정합니다.Gets or sets the prefix used to compose help keywords from string resource names.

TaskName

부모 작업의 이름을 가져옵니다.Gets the name of the parent task.

TaskResources

문화권 관련 리소스를 로드하는 데 사용됩니다.Used to load culture-specific resources. 파생 클래스는 생성 중에 해당 리소스를 등록하거나, 지역화된 문자열이 있는 경우 이 속성을 통해 등록해야 합니다.Derived classes should register their resources either during construction, or via this property, if they have localized strings.

메서드

CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(다음에서 상속됨 MarshalByRefObject)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
ExtractMessageCode(String, String)

지정된 메시지 문자열 앞의 메시지 코드 접두사(있는 경우)를 추출합니다.Extracts the message code (if any) prefixed to the given message string. 메시지 코드 접두사는 다음 .NET 정규식과 일치해야 인식될 수 있습니다. ^\s [A-Za-z]+\d+:\s 스레드로부터 안전합니다.Message code prefixes must match the following .NET regular expression in order to be recognized: ^\s [A-Za-z]+\d+:\s Thread safe.

FormatResourceString(String, Object[])

지정한 리소스 문자열을 로드하고 경우에 따라 지정한 인수를 사용하여 해당 문자열의 형식을 지정합니다.Loads the specified resource string and optionally formats it using the given arguments. 현재 스레드의 문화권은 서식 지정에 사용됩니다.The current thread's culture is used for formatting.

소유자 작업이 Task(또는 TaskMarshalByRef) 기본 클래스 생성자 또는 Task.TaskResources(또는 AppDomainIsolatedTask.TaskResources) 속성을 통해 해당 리소스를 등록해야 합니다.Requires the owner task to have registered its resources either via the Task (or TaskMarshalByRef) base class constructor, or the Task.TaskResources (or AppDomainIsolatedTask.TaskResources) property.

스레드로부터 안전한지 여부Thread safe.

FormatString(String, Object[])

전달된 변수 인수를 사용하여 지정된 문자열의 서식을 지정합니다.Formats the given string using the variable arguments passed in. 현재 스레드의 문화권은 서식 지정에 사용됩니다.The current thread's culture is used for formatting. 스레드로부터 안전한지 여부Thread safe.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않습니다.

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(다음에서 상속됨 MarshalByRefObject)
GetResourceMessage(String)

작업 라이브러리의 리소스에서 메시지를 가져옵니다.Get the message from resource in task library. 스레드로부터 안전한지 여부Thread safe.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
InitializeLifetimeService()

InitializeLifetimeService는 원격 개체가 활성화될 때 호출됩니다.InitializeLifetimeService is called when the remote object is activated. 이 메서드는 개체의 수명을 결정합니다.This method will determine how long the lifetime for the object will be. 스레드로부터 안전한지 여부Thread safe. 그러나 InitializeLifetimeService 및 MarkAsInactive는 해당 순서대로 함께 한 번만 호출되거나 아예 호출되지 않아야 합니다.However, InitializeLifetimeService and MarkAsInactive should only be called in that order, together or not at all, and no more than once.

InitializeLifetimeService()
사용되지 않습니다.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(다음에서 상속됨 MarshalByRefObject)
LogCommandLine(MessageImportance, String)

지정된 중요도 수준을 사용하여 작업의 기본 도구/실행 파일/셸 명령에 대해 명령줄을 기록합니다.Logs the command line for a task's underlying tool/executable/shell command, using the given importance level. 스레드로부터 안전한지 여부Thread safe.

LogCommandLine(String)

작업의 기본 도구/실행 파일/셸 명령에 대해 명령줄을 기록합니다.Logs the command line for a task's underlying tool/executable/shell command. 스레드로부터 안전한지 여부Thread safe.

LogCriticalMessage(String, String, String, String, Int32, Int32, Int32, Int32, String, Object[])

지정한 문자열과 기타 메시지 정보를 사용하여 중요 메시지를 기록합니다.Logs a critical message using the specified string and other message details. 스레드로부터 안전한지 여부Thread safe.

LogError(String, Object[])

지정된 문자열을 사용하여 오류를 기록합니다.Logs an error using the specified string. 스레드로부터 안전한지 여부Thread safe.

LogError(String, String, String, String, Int32, Int32, Int32, Int32, String, Object[])

지정된 문자열 및 기타 오류 정보를 사용하여 오류를 기록합니다.Logs an error using the specified string and other error details. 스레드로부터 안전한지 여부Thread safe.

LogErrorFromException(Exception)

지정된 예외 컨텍스트의 메시지를 사용하여 오류를 기록합니다.Logs an error using the message from the given exception context. 호출 스택이 표시되지 않습니다.No callstack will be shown. 스레드로부터 안전한지 여부Thread safe.

LogErrorFromException(Exception, Boolean)

지정된 예외 컨텍스트의 메시지(및 선택적으로 스택 추적)를 사용하여 오류를 기록합니다.Logs an error using the message (and optionally the stack-trace) from the given exception context. 스레드로부터 안전한지 여부Thread safe.

LogErrorFromException(Exception, Boolean, Boolean, String)

메시지를 사용하여 오류를 기록하며 선택적으로 지정된 예외에서 스택 추적을 기록하고 선택적으로 내부 예외를 기록합니다.Logs an error using the message, and optionally the stack-trace from the given exception, and optionally inner exceptions too. 스레드로부터 안전한지 여부Thread safe.

LogErrorFromResources(String, Object[])

지정한 리소스 문자열을 사용하여 오류를 기록합니다.Logs an error using the specified resource string. 스레드로부터 안전한지 여부Thread safe.

LogErrorFromResources(String, String, String, String, Int32, Int32, Int32, Int32, String, Object[])

지정한 리소스 문자열과 기타 오류 정보를 사용하여 오류를 기록합니다.Logs an error using the specified resource string and other error details. 스레드로부터 안전한지 여부Thread safe.

LogErrorWithCodeFromResources(String, Object[])

지정한 리소스 문자열을 사용하여 오류를 기록합니다.Logs an error using the specified resource string. 메시지에 오류 코드 접두사가 있으면 해당 코드를 추출하여 메시지와 함께 기록합니다.If the message has an error code prefixed to it, the code is extracted and logged with the message. 도움말 키워드 접두사가 제공된 경우 호스트 IDE에 대한 도움말 키워드도 메시지와 함께 기록합니다.If a help keyword prefix has been provided, a help keyword for the host IDE is also logged with the message. 도움말 키워드는 접두사에 문자열 리소스 이름을 추가하여 구성됩니다.The help keyword is composed by appending the string resource name to the prefix.

작업은 Task(또는 TaskMarshalByRef) 기본 클래스 생성자 또는 Task.HelpKeywordPrefix(또는 AppDomainIsolatedTask.HelpKeywordPrefix) 속성을 통해 도움말 키워드 접두사를 제공할 수 있습니다.A task can provide a help keyword prefix either via the Task (or TaskMarshalByRef) base class constructor, or the Task.HelpKeywordPrefix (or AppDomainIsolatedTask.HelpKeywordPrefix) property.

스레드로부터 안전한지 여부Thread safe.

LogErrorWithCodeFromResources(String, String, Int32, Int32, Int32, Int32, String, Object[])

지정한 리소스 문자열과 기타 오류 정보를 사용하여 오류를 기록합니다.Logs an error using the specified resource string and other error details. 메시지에 오류 코드 접두사가 있으면 해당 코드를 추출하여 메시지와 함께 기록합니다.If the message has an error code prefixed, the code is extracted and logged with the message. 도움말 키워드 접두사가 제공된 경우 호스트 IDE에 대한 도움말 키워드도 메시지와 함께 기록합니다.If a help keyword prefix has been provided, a help keyword for the host IDE is also logged with the message. 도움말 키워드는 접두사에 오류 메시지 리소스 문자열 이름을 추가하여 구성됩니다.The help keyword is composed by appending the error message resource string name to the prefix.

작업은 Task(또는 TaskMarshalByRef) 기본 클래스 생성자 또는 Task.HelpKeywordPrefix(또는 AppDomainIsolatedTask.HelpKeywordPrefix) 속성을 통해 도움말 키워드 접두사를 제공할 수 있습니다.A task can provide a help keyword prefix either via the Task (or TaskMarshalByRef) base class constructor, or the Task.HelpKeywordPrefix (or AppDomainIsolatedTask.HelpKeywordPrefix) property.

스레드로부터 안전한지 여부Thread safe.

LogExternalProjectFinished(String, String, String, Boolean)

사용자 지정 ExternalProjectFinished 빌드 이벤트를 기록하는 작은 도우미입니다.Small helper for logging the custom ExternalProjectFinished build event. 스레드로부터 안전한지 여부Thread safe.

LogExternalProjectStarted(String, String, String, String)

사용자 지정 ExternalProjectStarted 빌드 이벤트를 기록하는 작은 도우미입니다. 스레드로부터 안전합니다.Small helper for logging the custom ExternalProjectStarted build event Thread safe.

LogMessage(MessageImportance, String, Object[])

지정된 문자열을 사용하여 지정된 중요도의 메시지를 기록합니다.Logs a message of the given importance using the specified string. 스레드로부터 안전한지 여부Thread safe.

LogMessage(String, Object[])

지정된 문자열을 사용하여 메시지를 기록합니다.Logs a message using the specified string. 스레드로부터 안전한지 여부Thread safe.

LogMessage(String, String, String, String, Int32, Int32, Int32, Int32, MessageImportance, String, Object[])

지정한 문자열과 기타 메시지 정보를 사용하여 메시지를 기록합니다.Logs a message using the specified string and other message details. 스레드로부터 안전한지 여부Thread safe.

LogMessageFromResources(MessageImportance, String, Object[])

지정된 리소스 문자열을 사용하여 지정된 중요도의 메시지를 기록합니다.Logs a message of the given importance using the specified resource string. 스레드로부터 안전한지 여부Thread safe.

LogMessageFromResources(String, Object[])

지정된 리소스 문자열을 사용하여 메시지를 기록합니다.Logs a message using the specified resource string. 스레드로부터 안전한지 여부Thread safe.

LogMessageFromText(String, MessageImportance)

지정된 텍스트 줄에서 오류/경고/메시지를 기록합니다.Logs an error/warning/message from the given line of text. 오류/경고는 특정(정식) 형식에 맞는 줄에 대해서만 기록되며 다른 모든 줄은 메시지로 처리됩니다.Errors/warnings are only logged for lines that fit a particular (canonical) format -- all other lines are treated as messages. 스레드로부터 안전한지 여부Thread safe.

LogMessagesFromFile(String)

지정된 파일의 각 텍스트 줄에 대한 오류/경고/메시지를 기록합니다.Logs errors/warnings/messages for each line of text in the given file. 오류/경고는 특정(정식) 형식에 맞는 줄에 대해서만 기록되며 나머지 줄은 메시지로 처리됩니다.Errors/warnings are only logged for lines that fit a particular (canonical) format -- the remaining lines are treated as messages. 스레드로부터 안전한지 여부Thread safe.

LogMessagesFromFile(String, MessageImportance)

지정된 파일의 각 텍스트 줄에 대한 오류/경고/메시지를 기록합니다.Logs errors/warnings/messages for each line of text in the given file. 오류/경고는 특정(정식) 형식에 맞는 줄에 대해서만 기록되며 나머지 줄은 메시지로 처리됩니다.Errors/warnings are only logged for lines that fit a particular (canonical) format -- the remaining lines are treated as messages. 스레드로부터 안전한지 여부Thread safe.

LogMessagesFromStream(TextReader, MessageImportance)

지정된 스트림의 각 텍스트 줄에 대한 오류/경고/메시지를 기록합니다.Logs errors/warnings/messages for each line of text in the given stream. 오류/경고는 특정(정식) 형식에 맞는 줄에 대해서만 기록되며 나머지 줄은 메시지로 처리됩니다.Errors/warnings are only logged for lines that fit a particular (canonical) format -- the remaining lines are treated as messages. 스레드로부터 안전한지 여부Thread safe.

LogTelemetry(String, IDictionary<String,String>)

지정된 이벤트 이름 및 속성을 사용하여 원격 분석을 기록합니다.Logs telemetry with the specified event name and properties.

LogWarning(String, Object[])

지정된 문자열을 사용하여 경고를 기록합니다.Logs a warning using the specified string. 스레드로부터 안전한지 여부Thread safe.

LogWarning(String, String, String, String, Int32, Int32, Int32, Int32, String, Object[])

지정된 문자열 및 기타 경고 정보를 사용하여 경고를 기록합니다.Logs a warning using the specified string and other warning details. 스레드로부터 안전한지 여부Thread safe.

LogWarningFromException(Exception)

지정된 예외 컨텍스트의 메시지를 사용하여 경고를 기록합니다.Logs a warning using the message from the given exception context. 스레드로부터 안전한지 여부Thread safe.

LogWarningFromException(Exception, Boolean)

지정된 예외 컨텍스트의 메시지(및 선택적으로 스택 추적)를 사용하여 경고를 기록합니다.Logs a warning using the message (and optionally the stack-trace) from the given exception context. 스레드로부터 안전한지 여부Thread safe.

LogWarningFromResources(String, Object[])

지정한 리소스 문자열을 사용하여 경고를 기록합니다.Logs a warning using the specified resource string. 스레드로부터 안전한지 여부Thread safe.

LogWarningFromResources(String, String, String, String, Int32, Int32, Int32, Int32, String, Object[])

지정한 리소스 문자열과 기타 경고 정보를 사용하여 경고를 기록합니다.Logs a warning using the specified resource string and other warning details. 스레드로부터 안전한지 여부Thread safe.

LogWarningWithCodeFromResources(String, Object[])

지정한 리소스 문자열을 사용하여 경고를 기록합니다.Logs a warning using the specified resource string. 메시지에 경고 코드 접두사가 있으면 해당 코드를 추출하여 메시지와 함께 기록합니다.If the message has a warning code prefixed to it, the code is extracted and logged with the message. 도움말 키워드 접두사가 제공된 경우 호스트 IDE에 대한 도움말 키워드도 메시지와 함께 기록합니다.If a help keyword prefix has been provided, a help keyword for the host IDE is also logged with the message. 도움말 키워드는 접두사에 문자열 리소스 이름을 추가하여 구성됩니다.The help keyword is composed by appending the string resource name to the prefix.

작업은 Task(또는 TaskMarshalByRef) 기본 클래스 생성자 또는 Task.HelpKeywordPrefix(또는 AppDomainIsolatedTask.HelpKeywordPrefix) 속성을 통해 도움말 키워드 접두사를 제공할 수 있습니다.A task can provide a help keyword prefix either via the Task (or TaskMarshalByRef) base class constructor, or the Task.HelpKeywordPrefix (or AppDomainIsolatedTask.HelpKeywordPrefix) property.

스레드로부터 안전한지 여부Thread safe.

LogWarningWithCodeFromResources(String, String, Int32, Int32, Int32, Int32, String, Object[])

지정한 리소스 문자열과 기타 경고 정보를 사용하여 경고를 기록합니다.Logs a warning using the specified resource string and other warning details. 메시지에 경고 코드가 있으면 해당 코드를 추출하여 메시지와 함께 기록합니다.If the message has a warning code, the code is extracted and logged with the message. 도움말 키워드 접두사가 제공된 경우 호스트 IDE에 대한 도움말 키워드도 메시지와 함께 기록합니다.If a help keyword prefix has been provided, a help keyword for the host IDE is also logged with the message. 도움말 키워드는 접두사에 경고 메시지 리소스 문자열 이름을 추가하여 구성됩니다.The help keyword is composed by appending the warning message resource string name to the prefix.

작업은 Task(또는 TaskMarshalByRef) 기본 클래스 생성자 또는 Task.HelpKeywordPrefix(또는 AppDomainIsolatedTask.HelpKeywordPrefix) 속성을 통해 도움말 키워드 접두사를 제공할 수 있습니다.A task can provide a help keyword prefix either via the Task (or TaskMarshalByRef) base class constructor, or the Task.HelpKeywordPrefix (or AppDomainIsolatedTask.HelpKeywordPrefix) property.

스레드로부터 안전한지 여부Thread safe.

MarkAsInactive()

이 개체에 작업이 완료되었음을 알립니다.Notifies this object that its work is done. 스레드로부터 안전한지 여부Thread safe. 그러나 InitializeLifetimeService 및 MarkAsInactive는 해당 순서대로 함께 한 번만 호출되거나 아예 호출되지 않아야 합니다.However, InitializeLifetimeService and MarkAsInactive should only be called in that order, together or not at all, and no more than once.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(다음에서 상속됨 MarshalByRefObject)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

적용 대상