Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Alternative to Fusion Log Viewer?

Are there any alternative Fusion Log Viewer programs, other than Fuslogvw.exe, or directing the Fusion log output to your own directory and then examining the tons of HTM files by hand?

My two main gripes are:

  1. I'd like an overview that showed which assembly loads succeeded and which failed.

  2. I'm unsure of the resolution of the timestamps on the logging files, so I'm unsure of which entry comes before another entry. For example, my program is apparently trying to load an assembly with both culture=da and culture=da-dk. It should only be trying to load da-dk, and in fact that load is successful. So why is it also (unsuccessfully) trying to load culture=da? It might help if I at least was sure of the order in which it is trying to do these loads, but Fuslogvw.exe displays the two entries randomly, and logging to a private directory isn't much better.

like image 616
RenniePet Avatar asked Aug 08 '11 23:08

RenniePet


People also ask

What is FusionLog?

FusionLog folder is not part of SolarWinds and is a folder created by Microsoft. The way this works is Microsoft has its libraries and we use them as a client. Fusion logging is extra logging that we can sometimes use to see underlying issues that our logs might have not caught.

How do I enable FusionLog?

Open Fusion Log Viewer as administrator. Click settings. Check the Enable custom log path checkbox. Enter the location you want logs to get written to, for example, c:\FusionLogs (Important: make sure that you have actually created this folder in the file system.)

What is Assembly binding logging?

ASP.NET Framework has fusion Assembly Binding logging (aka Fusion Logging) which allows you to debug assembly load failures in your . NET applications. Fusion logging comes handy when your application is referencing assemblies or external nuget packages and you are encountering assembly binding failures.


2 Answers

Might be late to the party but I think Fusion++ is a pretty good match for your question.

Fusion++

It takes everything away from you - no more file hunting: Just click "Record" to capture assembly logs. If you are done, click "Stop" again and Fusion++ will parse all the log files for you.

like image 157
Waescher Avatar answered Sep 27 '22 20:09

Waescher


All the Fusion Log Viewer does is flip some registry settings and examine the log files.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
Add:
DWORD ForceLog set value to 1
DWORD LogFailures set value to 1
DWORD LogResourceBinds set value to 1
String LogPath set value to folder for logs (e.g. C:\FusionLog\)

It might not be possible to determine exactly when each assembly is loaded based on the fusion loader's output. The fusion loader is somewhat of a black box in that respect.

Your best bet might be to step directly into your application with the debugger and watch the Modules window in Visual Studio. If you step carefully through the application, you should be able to see at which point each assembly gets loaded into memory.

like image 44
Alex Dresko Avatar answered Sep 27 '22 20:09

Alex Dresko