TaskLoggingHelper Clase

Definición

Clase de registro del asistente: contiene todos los métodos de registro utilizados por las tareas.Helper logging class - contains all the logging methods used by tasks. MSBuild pasa un objeto TaskLoggingHelper a todas las tareas.A TaskLoggingHelper object is passed to every task by MSBuild. En el caso de las tareas derivadas de la clase Task, se proporciona en la propiedad Log.For tasks that derive from the Task class, it is provided in the Log property. Esta clase es segura para subprocesos: las tareas pueden registrarse desde cualquier subproceso.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
Herencia
TaskLoggingHelper
Herencia
TaskLoggingHelper
Derivado

Ejemplos

En el ejemplo siguiente se muestra el código de una tarea que crea uno o varios directorios.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;
        }
    }
}

Constructores

TaskLoggingHelper(IBuildEngine, String)

Constructor público que pueden usar los generadores de tareas como ayuda para el registro de mensajes.Public constructor which can be used by task factories to assist them in logging messages.

TaskLoggingHelper(ITask)

Constructor públicopublic constructor

Propiedades

BuildEngine

Propiedad de acceso directo para obtener nuestro motor de compilación: se recupera de la instancia de tarea.Shortcut property for getting our build engine - we retrieve it from the task instance

HasLoggedErrors

¿La tarea ha registrado algún error a través de este objeto del asistente de registro?Has the task logged any errors through this logging helper object?

HelpKeywordPrefix

Obtiene o establece el prefijo usado para crear palabras clave de ayuda a partir de los nombres de los recursos de cadena.Gets or sets the prefix used to compose help keywords from string resource names.

TaskName

Obtiene el nombre de la tarea principal.Gets the name of the parent task.

TaskResources

Se utiliza para cargar recursos específicos de la referencia cultural.Used to load culture-specific resources. Las clases derivadas deben registrar sus recursos durante la construcción o a través de esta propiedad si tienen cadenas localizadas.Derived classes should register their resources either during construction, or via this property, if they have localized strings.

Métodos

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Heredado de MarshalByRefObject)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
ExtractMessageCode(String, String)

Extrae el código del mensaje (si existe) antepuesto a la cadena del mensaje especificada.Extracts the message code (if any) prefixed to the given message string. Los prefijos de código de mensaje deben coincidir con la expresión regular de .NET siguiente para que se reconozca: ^\s [A-Za-z]+\d+:\s para la seguridad de subprocesos.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[])

Carga la cadena de recurso especificada y, opcionalmente, le da formato mediante los argumentos especificados.Loads the specified resource string and optionally formats it using the given arguments. Referencia cultural del subproceso actual se usa para dar formato.The current thread's culture is used for formatting.

Requiere que la tarea de propietario registre sus recursos mediante el constructor de clase base Task o TaskMarshalByRef, o bien la propiedad Task.TaskResources o 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.

Seguro para subprocesos.Thread safe.

FormatString(String, Object[])

Da formato a la cadena especificada mediante los argumentos de variable pasados.Formats the given string using the variable arguments passed in. Referencia cultural del subproceso actual se usa para dar formato.The current thread's culture is used for formatting. Seguro para subprocesos.Thread safe.

GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
GetResourceMessage(String)

Obtiene el mensaje del recurso en la biblioteca de tareas.Get the message from resource in task library. Seguro para subprocesos.Thread safe.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
InitializeLifetimeService()

Se llama a InitializeLifetimeService cuando se activa el objeto remoto.InitializeLifetimeService is called when the remote object is activated. Este método determinará la duración del objeto.This method will determine how long the lifetime for the object will be. Seguro para subprocesos.Thread safe. Sin embargo, InitializeLifetimeService y MarkAsInactive debe llamarse únicamente en ese orden, juntos o no, y no más de una vez.However, InitializeLifetimeService and MarkAsInactive should only be called in that order, together or not at all, and no more than once.

InitializeLifetimeService()
Obsoleto.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
LogCommandLine(MessageImportance, String)

Registra la línea de comandos para el comando tool/executable/shell subyacente de una tarea con el nivel de importancia determinado.Logs the command line for a task's underlying tool/executable/shell command, using the given importance level. Seguro para subprocesos.Thread safe.

LogCommandLine(String)

Registra la línea de comandos para el comando tool/executable/shell subyacente de una tarea.Logs the command line for a task's underlying tool/executable/shell command. Seguro para subprocesos.Thread safe.

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

Registra mensaje crítico usando la cadena especificada y otros detalles del mensaje.Logs a critical message using the specified string and other message details. Seguro para subprocesos.Thread safe.

LogError(String, Object[])

Registra un error con la cadena especificada.Logs an error using the specified string. Seguro para subprocesos.Thread safe.

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

Registra un error con la cadena especificada y otros detalles del error.Logs an error using the specified string and other error details. Seguro para subprocesos.Thread safe.

LogErrorFromException(Exception)

Registra un error con el mensaje del contexto de excepción especificado.Logs an error using the message from the given exception context. No se mostrará ninguna pila de llamadas.No callstack will be shown. Seguro para subprocesos.Thread safe.

LogErrorFromException(Exception, Boolean)

Registra un error con el mensaje y, opcionalmente, el seguimiento de pila del contexto de excepción especificado.Logs an error using the message (and optionally the stack-trace) from the given exception context. Seguro para subprocesos.Thread safe.

LogErrorFromException(Exception, Boolean, Boolean, String)

Registra un error con el mensaje y, opcionalmente, el seguimiento de la pila de la excepción especificada y también las excepciones internas.Logs an error using the message, and optionally the stack-trace from the given exception, and optionally inner exceptions too. Seguro para subprocesos.Thread safe.

LogErrorFromResources(String, Object[])

Registra un error con una cadena de recursos especificada.Logs an error using the specified resource string. Seguro para subprocesos.Thread safe.

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

Registra un error con la cadena de recurso especificada y otros detalles del error.Logs an error using the specified resource string and other error details. Seguro para subprocesos.Thread safe.

LogErrorWithCodeFromResources(String, Object[])

Registra un error con una cadena de recursos especificada.Logs an error using the specified resource string. Si el mensaje tiene un código de error como prefijo, el código se extrae y se registra con el mensaje.If the message has an error code prefixed to it, the code is extracted and logged with the message. Si se ha proporcionado un prefijo de palabra clave de ayuda, también se registrará con el mensaje una palabra clave de ayuda para el IDE del host.If a help keyword prefix has been provided, a help keyword for the host IDE is also logged with the message. La palabra clave de ayuda se compone anexando el nombre del recurso de cadena al prefijo.The help keyword is composed by appending the string resource name to the prefix.

Una tarea puede proporcionar un prefijo de palabra clave de ayuda mediante el constructor de clase base Task o TaskMarshalByRef, o bien la propiedad Task.HelpKeywordPrefix o 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.

Seguro para subprocesos.Thread safe.

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

Registra un error con la cadena de recurso especificada y otros detalles del error.Logs an error using the specified resource string and other error details. Si el mensaje tiene un código de error como prefijo, el código se extrae y se registra con el mensaje.If the message has an error code prefixed, the code is extracted and logged with the message. Si se ha proporcionado un prefijo de palabra clave de ayuda, también se registrará con el mensaje una palabra clave de ayuda para el IDE del host.If a help keyword prefix has been provided, a help keyword for the host IDE is also logged with the message. La palabra clave de ayuda se compone anexando el nombre de la cadena de recurso del mensaje de error al prefijo.The help keyword is composed by appending the error message resource string name to the prefix.

Una tarea puede proporcionar un prefijo de palabra clave de ayuda mediante el constructor de clase base Task o TaskMarshalByRef, o bien la propiedad Task.HelpKeywordPrefix o 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.

Seguro para subprocesos.Thread safe.

LogExternalProjectFinished(String, String, String, Boolean)

Pequeño asistente para registrar el evento de compilación ExternalProjectFinished personalizado.Small helper for logging the custom ExternalProjectFinished build event. Seguro para subprocesos.Thread safe.

LogExternalProjectStarted(String, String, String, String)

Pequeño asistente para registrar la seguridad para subprocesos del evento de compilación ExternalProjectStarted personalizado.Small helper for logging the custom ExternalProjectStarted build event Thread safe.

LogMessage(MessageImportance, String, Object[])

Registra un mensaje de una importancia determinada mediante la cadena especificada.Logs a message of the given importance using the specified string. Seguro para subprocesos.Thread safe.

LogMessage(String, Object[])

Registra un mensaje con la cadena especificada.Logs a message using the specified string. Seguro para subprocesos.Thread safe.

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

Registra un mensaje usando la cadena especificada y otros detalles del mensaje.Logs a message using the specified string and other message details. Seguro para subprocesos.Thread safe.

LogMessageFromResources(MessageImportance, String, Object[])

Registra un mensaje de la importancia determinada mediante la cadena de recurso especificada.Logs a message of the given importance using the specified resource string. Seguro para subprocesos.Thread safe.

LogMessageFromResources(String, Object[])

Registra un mensaje mediante la cadena de recurso especificada.Logs a message using the specified resource string. Seguro para subprocesos.Thread safe.

LogMessageFromText(String, MessageImportance)

Registra un error, una advertencia o un mensaje de la línea de texto especificada.Logs an error/warning/message from the given line of text. Los errores y las advertencias solo se registran para las líneas que se ajustan a un formato (canónico) determinado (el resto de las líneas se tratan como mensajes).Errors/warnings are only logged for lines that fit a particular (canonical) format -- all other lines are treated as messages. Seguro para subprocesos.Thread safe.

LogMessagesFromFile(String)

Registra errores, advertencias y mensajes para cada línea de texto del archivo especificado.Logs errors/warnings/messages for each line of text in the given file. Los errores y las advertencias solo se registran para las líneas que se ajustan a un formato (canónico) determinado (las demás líneas se tratan como mensajes).Errors/warnings are only logged for lines that fit a particular (canonical) format -- the remaining lines are treated as messages. Seguro para subprocesos.Thread safe.

LogMessagesFromFile(String, MessageImportance)

Registra errores, advertencias y mensajes para cada línea de texto del archivo especificado.Logs errors/warnings/messages for each line of text in the given file. Los errores y las advertencias solo se registran para las líneas que se ajustan a un formato (canónico) determinado (las demás líneas se tratan como mensajes).Errors/warnings are only logged for lines that fit a particular (canonical) format -- the remaining lines are treated as messages. Seguro para subprocesos.Thread safe.

LogMessagesFromStream(TextReader, MessageImportance)

Registra errores, advertencias y mensajes para cada línea de texto de la secuencia especificada.Logs errors/warnings/messages for each line of text in the given stream. Los errores y las advertencias solo se registran para las líneas que se ajustan a un formato (canónico) determinado (las demás líneas se tratan como mensajes).Errors/warnings are only logged for lines that fit a particular (canonical) format -- the remaining lines are treated as messages. Seguro para subprocesos.Thread safe.

LogTelemetry(String, IDictionary<String,String>)

Registra la telemetría con el nombre de evento y las propiedades especificados.Logs telemetry with the specified event name and properties.

LogWarning(String, Object[])

Registra una advertencia con la cadena especificada.Logs a warning using the specified string. Seguro para subprocesos.Thread safe.

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

Registra una advertencia con la cadena especificada y otros detalles de la advertencia.Logs a warning using the specified string and other warning details. Seguro para subprocesos.Thread safe.

LogWarningFromException(Exception)

Registra una advertencia con el mensaje del contexto de excepción especificado.Logs a warning using the message from the given exception context. Seguro para subprocesos.Thread safe.

LogWarningFromException(Exception, Boolean)

Registra una advertencia con el mensaje y, opcionalmente, el seguimiento de la pila del contexto de excepción especificado.Logs a warning using the message (and optionally the stack-trace) from the given exception context. Seguro para subprocesos.Thread safe.

LogWarningFromResources(String, Object[])

Registra una advertencia con una cadena de recursos especificada.Logs a warning using the specified resource string. Seguro para subprocesos.Thread safe.

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

Registra una advertencia con una cadena de recursos especificada y otros detalles de la advertencia.Logs a warning using the specified resource string and other warning details. Seguro para subprocesos.Thread safe.

LogWarningWithCodeFromResources(String, Object[])

Registra una advertencia con una cadena de recursos especificada.Logs a warning using the specified resource string. Si el mensaje tiene un código de advertencia como prefijo, el código se extrae y se registra con el mensaje.If the message has a warning code prefixed to it, the code is extracted and logged with the message. Si se ha proporcionado un prefijo de palabra clave de ayuda, también se registrará con el mensaje una palabra clave de ayuda para el IDE del host.If a help keyword prefix has been provided, a help keyword for the host IDE is also logged with the message. La palabra clave de ayuda se compone anexando el nombre del recurso de cadena al prefijo.The help keyword is composed by appending the string resource name to the prefix.

Una tarea puede proporcionar un prefijo de palabra clave de ayuda mediante el constructor de clase base Task o TaskMarshalByRef, o bien la propiedad Task.HelpKeywordPrefix o 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.

Seguro para subprocesos.Thread safe.

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

Registra una advertencia con una cadena de recursos especificada y otros detalles de la advertencia.Logs a warning using the specified resource string and other warning details. Si el mensaje tiene un código de advertencia, el código se extrae y se registra con el mensaje.If the message has a warning code, the code is extracted and logged with the message. Si se ha proporcionado un prefijo de palabra clave de ayuda, también se registrará con el mensaje una palabra clave de ayuda para el IDE del host.If a help keyword prefix has been provided, a help keyword for the host IDE is also logged with the message. La palabra clave de ayuda se compone anexando el nombre de la cadena de recurso del mensaje de advertencia al prefijo.The help keyword is composed by appending the warning message resource string name to the prefix.

Una tarea puede proporcionar un prefijo de palabra clave de ayuda mediante el constructor de clase base Task o TaskMarshalByRef, o bien la propiedad Task.HelpKeywordPrefix o 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.

Seguro para subprocesos.Thread safe.

MarkAsInactive()

Notifica a este objeto que se ha realizado su trabajo.Notifies this object that its work is done. Seguro para subprocesos.Thread safe. Sin embargo, InitializeLifetimeService y MarkAsInactive debe llamarse únicamente en ese orden, juntos o no, y no más de una vez.However, InitializeLifetimeService and MarkAsInactive should only be called in that order, together or not at all, and no more than once.

MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Heredado de MarshalByRefObject)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a