LoggerPro — ImportExport/Formats¶
BuiltInExportFormats.cs — LoggerPro's own export destinations, written as ordinary ILogExportFormat implementations.
They register through the same public call anyone else would use. There is no privileged built-in list: the toolbar draws whatever is in the registry, in registration order, and a third-party format sits beside these on equal terms.
That is deliberate, and it is the point of the file. If these five can be written this way, an integration with your bug tracker can be too — the shape is one interface with an Id, a DisplayName, an IsAvailable, and an Export(IReadOnlyList<LoggerProLogEntry>).
Registering your own¶
[InitializeOnLoad]
static class MyJiraExport
{
static MyJiraExport() => LoggerProExportFormats.Register(new JiraFormat());
}
Register from an [InitializeOnLoad] static constructor, as these do. Statics do not survive a domain reload, so anything registered once at startup has to be re-registered on every reload — which is exactly what [InitializeOnLoad] is for.
One consequence worth knowing: LoggerProExportFormats.Available() rebuilds the built-ins if it ever finds the registry empty, but it cannot rebuild yours. Nothing clears the registry in normal use; the shipped test suite used to, and left the export row missing for the rest of the session.
Where the writing happens¶
These formats are thin — they decide what an export means and delegate the file writing to the exporters in ImportExport/. LoggerProExporterBase supplies the export folder, the timestamped filename helper, the metadata header and the log wrapper, so a new format does not have to reimplement any of it.