Sitecore uses Log4Net for it’s logging framework, so it comes with a whole slew of different ‘appenders’, suitable for logging to various repositories. That’s nice, but what if there’s a target you want to use that doesn’t exist?
Well, you can override the SitecoreLogFileAppender and write your own output:
What else could you do with this? Well, writing to App Insights seems like a good bet.
I’m a big fan of App Insights, and I’m loving it’s increasing integration with Visual Studio. To me, it’s just great.
This is showing an error on Line 93. The thing is, the file has been minified – and all the code in the file is on line 93.
Hmm. All this would save is a couple of hundred bytes over the wire. I’m just not sure it’s worth it for most of the projects I work on. I think having the new-lines still in (albeit otherwise minified).
To be honest, we’d save more space by stripping out the 92 lines of Licensing information above the code. I’m not sure that that shouldn’t reside in a text file, and just have a comment referencing the licence information.
So, I do love App Insights, but I just realised that it’s even better than I’d thought. They’ve integrated it more closely with Visual Studio.
In the code you can see things at the top of each method – how many references it has, who last edited it, how long ago it was edited,, etc.
Well now you can also see the exceptions that were recorded by App Insights for that method in the last 24 hours:
(And all those are expected exceptions. If anyone works out a way of doing a Response.Redirect() without a ThreadAbortException and still killing the page processing, let me know)
Okay, I admit, this made me wildly overexcited. I was asked by a colleague to add Azure App Insights to a Sitecore (i.e. ASP.NET) website we’ve been building. I’d not really heard of it before, other than vaguely for proper ‘Apps’, not websites. However, I added it – and it blew my socks off. Continue reading “Azure App Insights”
Something that I don’t always remember – you can use the SPMonitoredScope class to monitor your SharePoint code as it executes. The results then get sent to the Developer Dashboard and ULS logs. There’s a decent description of it on MSDN.
using (new SPMonitoredScope("My Monitored Scope"))
// Do Stuff...
Continue reading “Using SPMonitoredScope, Counters and SPCriticalTraceCounter”
Sometimes, you want to know if your assembly is a Debug or Release build – like if you’re outputting assembly information for diagnostic purposes. But how do you know? Continue reading “Know whether your assembly is Debug or Release”