How do I use Microsoft Application Insights with NLog (Target cannot be found: 'ApplicationInsights')
13,963
Solution 1
Solution: (thanks to @nemesv for the tip)
Programmatically add the target with
ConfigurationItemFactory.Default.Targets.RegisterDefinition(
"ApplicationInsightsTarget",
typeof(Microsoft.ApplicationInsights.NLogTarget.ApplicationInsightsTarget)
);
and use it with
<target name='ai' xsi:type='ApplicationInsightsTarget' />
Solution 2
Or you can programmatically specify the target:
var config = new LoggingConfiguration();
ConfigurationItemFactory.Default.Targets.RegisterDefinition(
"ai",
typeof(ApplicationInsightsTarget)
);
ApplicationInsightsTarget aiTarget = new ApplicationInsightsTarget();
aiTarget.InstrumentationKey = "your_key";
aiTarget.Name = "ai";
config.AddTarget("ai", aiTarget);
LogManager.Configuration = config;
Author by
Michael A. Volz aka Flynn
C# developer, Elon Musk fan, computer geek, realist, big guy, Azure Solutions Architect Expert. I am constantly going beyond the truths that I already hold.
Updated on June 26, 2022Comments
-
Michael A. Volz aka Flynn almost 2 years
I am using
Microsoft Application Insights
for my Web Application. I used the Application Insights TraceListener NuGet package for logging. That worked perfectly.Now I would like to switch to NLog. I added the
Microsoft.ApplicationInsights.NLogTarget
NuGet package and added a new NLog target in my NLog configuration file:<target name='ai' xsi:type='ApplicationInsights' />
NLog throws an exception:
Target cannot be found: 'ApplicationInsights'
I also tried adding the assembly via extensions like so:
<extensions> <add assembly="Microsoft.ApplicationInsights.NLogTarget" /> </extensions>
But it did not work either.
Any suggestions?
-
Bargitta over 6 yearsseems they all map to trace in application insight, any idea how to map it to exception?
-
mdzieg over 5 yearsWhat a nonsense! Documentation says nothing about that extra RegisterDefinition call. I was struggling with this as well. Thank you very much for this solution!
-
Arjun Menon about 4 yearsI am trying to register and log programmatically. But the logs are not getting logged. I have raised a question in stackoverflow and its up for a toss. I tried with internal log and it is showing no error what so error. Here's the link to my question stackoverflow.com/questions/60401441/…