LoggingFactory in c++/cli



  • Hallo Forum,

    hat jemand schon mal mit LoggingFactory in c++/cli gearbeitet? .NetCore 3.1.
    z.B.

    
    ...
    ILoggerFactory^ loggerFactory = gcnew LoggerFactory(/*??*/);			
    ILogger^ logger = loggerFactory->CreateLogger(/*...*/);
    ...
    logger->LogInformation(message.ToString().TrimEnd());	
    

    Problem: Error: LogInformation ist kein Member von logger.

    VG
    Matthias



    1. Im Titel schreibst du LoggingFactory, in deinem Code steht LoggerFactory. Bitte achte darauf das zu schreiben was du meinst, und nicht irgendwas was so ähnlich ist.
    2. Generell: bitte Code bzw. Code-Ausschnitte 1:1 aus der IDE posten + die entsprechende Fehlermeldung dazu (auch 1:1 kopiert).
    3. Es gibt keinen Overload von LogInformation der mit nur einem String aufgerufen werden kann. In C# geht das, da der object[] Parameter mit params definiert ist. In C++/CLI musst du diesen aber soweit ich weiss explizit angeben (leeres Array übergeben).
    4. LogInformation ist halt einfach keine Methode von ILogger. Es ist eine "extension method" und ist in LoggerExtensions definiert: https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.loggerextensions.loginformation
      In C++/CLI kannst du die Funktion bloss als statische Funktion von LoggerExtensions aufrufen, aber nicht mit der reference->Method() schreibweise.

Anmelden zum Antworten