Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Vidarebefordran av loggare förbättrar loggningseffektiviteten genom att låta dig välja de händelser som du vill övervaka när du skapar projekt i ett system med flera processorer. Genom att aktivera vidarebefordrande loggare kan du förhindra att oönskade händelser överbelastar den centrala loggaren, saktar ned byggtiden och belamrar loggen.
Om du vill skapa en vidarebefordranloggare kan du antingen implementera IForwardingLogger gränssnittet och sedan implementera dess metoder manuellt eller använda ConfigurableForwardingLogger klassen och dess förkonfigurerade metoder. (Det senare räcker för de flesta program.)
Registrera händelser och svara på dem
En vidarebefordringsloggare samlar in information om bygghändelser när de rapporteras av den sekundära byggmotorn, vilket är en arbetsprocess som skapas av huvudbyggprocessen under en byggprocess på ett system med flera processorer. Vidarebefordringsloggaren väljer sedan händelser som ska vidarebefordras till den centrala loggaren, baserat på de instruktioner du har gett den.
Du måste registrera vidarebefordrande loggare för att hantera de händelser som du vill övervaka. För att registrera sig för händelser måste loggare åsidosätta Initialize-metoden. Den här metoden innehåller nu en valfri parameter, nodecount, som kan anges till antalet processorer i systemet. (Som standard är värdet 1.)
Exempel på händelser som du kan övervaka är TargetStarted, ProjectStartedoch ProjectFinished.
I en miljö med flera processorer kommer händelsemeddelanden sannolikt att tas emot i fel ordning. Därför måste du utvärdera händelserna med hjälp av händelsehanteraren i vidarebefordranloggaren och programmera den för att avgöra vilka händelser som ska skickas till omdirigeringen för vidarebefordran till den centrala loggaren. För att åstadkomma detta kan du använda BuildEventContext klassen, som är kopplad till varje meddelande, för att identifiera händelser som du vill vidarebefordra och sedan skicka namnen på händelserna till ConfigurableForwardingLogger klassen (eller en underklass av den). När du använder den här metoden krävs ingen annan specifik kodning för att vidarebefordra händelser.
Ange en vidarebefordringsloggare
När vidarebefordringsloggaren har kompilerats till en assembly måste du instruera MSBuild att använda den under byggprocessen. Det gör du genom att använda -FileLogger, -FileLoggerParameters och -DistributedFileLogger-omkopplarna tillsammans med MSBuild.exe. Växeln -FileLogger talar om förMSBuild.exe att loggaren är direkt ansluten. Växeln -DistributedFileLogger innebär att det finns en loggfil per nod. Använd växeln -FileLoggerParameters för att ange parametrar för vidarebefordringsloggaren. Mer information om dessa och andra MSBuild.exe växlar finns i Kommandoradsreferens.
Flera processor-anpassade loggare
När du skapar ett projekt i ett system med flera processorer interfolieras inte byggmeddelandena från varje processor automatiskt i en enhetlig sekvens. I stället måste du upprätta en prioritet för meddelandegruppering med hjälp av klassen BuildEventContext som är kopplad till varje meddelande. Mer information om hur du skapar flera processorer finns i Loggning i en miljö med flera processorer.