The Autodesk Revit enrichers for Serilog.
Install the Serilog.Enrichers.Autodesk.Revit package from NuGet:
Install-Package Serilog.Enrichers.Autodesk.Revit
Then, apply the enricher to you LoggerConfiguration
:
// IExternalCommand.Execute
public Result Execute(ExternalCommandData commandData,
out string message,
ElementSet elements) {
UIApplication uiApplication = commandData.Application;
var log = new LoggerConfiguration()
.Enrich.WithRevitVersion(uiApplication)
// other enrichers..
.CreateLogger();
}
// IExternalApplication.Execute
public Result OnStartup(UIControlledApplication application) {
var log = new LoggerConfiguration()
.Enrich.WithRevitVersion(application)
// other enrichers...
.CreateLogger();
}
The package includes:
WithRevitVersion()
- addsApplication.VersionNumber
orControlledApplication.VersionNumber
WithRevitBuild()
- addsApplication.VersionBuild
orControlledApplication.VersionBuild
WithRevitUserName()
- addsApplication.Username
orControlledApplication.Username
WithRevitLanguage()
- addsApplication.Language
orControlledApplication.Language
WithRevitDocumentTitle()
- addsDocument.Title
WithRevitDocumentPathName()
- addsDocument.PathName
WithRevitDocumentModelPath()
- addsDocument.GetCloudModelPath()
ifDocument.IsModelInCloud
istrue
orDocument.GetWorksharingCentralModelPath()
ifDocument.IsWorkshared
istrue
WithRevitAddinId()
- addsApplication.ActiveAddinId