All logging in Viz Mosart is done through the Log Service. This service typically runs on the server hosting the Viz Mosart Server and is accessed through Windows Services.

All applications transmit log events to the server, including Viz Mosart GUI. When the Viz Mosart GUI is running on a different machine than the Viz Mosart server (which is the normal case), a selected subset of local log messages are transferred, via the Remote Control Service, to the Viz Mosart server. This enables these messages to also be logged in the Viz Mosart server logs. 

There are three distinct log streams available:

  • The Technical Log, which contains the normal logging from all applications.

  • The As-run Log, which contains information about on-air events.

  • The MOS Log, which contains information about MOS communication between NCS (MOS based) and Manus Administrator.

Note: For setups where several Mosart applications are installed on the same machine and these are using their own logging service (for example, Viz Mosart UI,  Viz Mosart Audio Player and Viz Mosart Server), if logging services do not provide the expected results, please ensure that the Viz Mosart Server was the last component to be installed and that Mosart Logging Service points to the Mosart Server installation folder. This is mainly relevant if one of the log adapters supported by Mosart is used. See section Log Adapters.

This section contains the following topics:

Log Viewer

A Viz Mosart installation includes a dedicated log file viewing utility. Log Viewer is in the Viz Mosart Server installation directory and is also available from Vizrt Support as a separate installation package.

Tip: To improve filtering and visualization, the XML log files are readable in Microsoft Excel.

Log File Characteristics

Location

Viz Mosart logs' default directory is:

  • C:\MMLogs
    The technical log stream is located at the root of this directory, while the other two log streams have their own corresponding subdirectories.
    The location is configurable.

Format

All Viz Mosart logs are stored as XML files.

File Naming

Log file names are configurable, but typically follow the pattern:

{0}.{1:yyyyMMdd-hhmmss}.xml

Where:

  • {0} - User configurable prefix.
    Default: Log, AsRunLog and MosLog for the three logs respectively.

  • {1} - File creation time. “year-month-day hour-minutes-seconds”

Current and Historical

There are two sets of log files:

  • The current, active log file.

    • For efficiency purposes, this log is divided into two separate files; one XML file and one log file.

    • When reading the current file it is recommended to open the XML, as this contains a reference to the corresponding log file.

  • Historical log files.

    • When a new log file starts, the current active log is merged into a single XML. The figure below illustrates a default setup, with a list of log files belonging to the technical log and two directories, each containing similar log files for as-run and MOS logs respectively.

Log Content

Technical Log

This log contains standard log events, as produced by the running Viz Mosart Applications.

Note: This logging includes any Viz Mosart application normally run on other host machines, but belonging to the same control room.

Event Types

All events in the technical log stream are classified according to the event types as below:

  • AsRunLogger: See As-run Log.

  • AudioMixer: Events to/from the audio mixer.

  • AudioPlayer: Events from the Audio Player and messages from AV Automation to Audio Player.

  • AvAutomation: General events issued from AV Automation.

  • ConsoleController: Used by default by GenericController. For generic console applications (services).

  • Crossover: Events to/from the Crossover component.

  • Database: Events associated with the SNMP Service.

  • GeneralInfo: General events not assigned to any device or application.

  • GPIControl: Events to/from the GPI control.

  • Graphics: Events related to control of graphics.

  • GUI: Events from the Viz Mosart GUI, such as mouse and button events.

  • GUILocal: Used to log messages to the local log service from the Viz Mosart GUI. This is an extended set of local GUI events, logged to local GUI PC. Excludes pressed keys, these are sent to the Server log.

  • INewsWebServices: Events associated with iNews web service.

  • IntegratedEngine: Events to/from the integrated engine.

  • Instrumentation: Events related to the Instrumentation component in AV Automation.

  • LightControl: Events to/from the light control.

  • Loudness: Events to/from the loudness control.

  • ManusAdministrator: General events issued from Manus Administrator.

  • MediaAdministrator: General events issued from Media Administrator.

  • MediaAssetManagement: Used principally for the Amadeus component.

  • MediaRouter: Media router events.

  • Mimic: Events associated with Mimic functionality.

  • MosartRemote: Events related to remote control of Viz Mosart.

  • MosConnection: MOS events between MOS based NCS and Viz Mosart.

  • RoboticCameraControl: Events to/from the robotic camera control.

  • RouterControl: Events to/from the router control.

  • SoundFilePlayer: Events to/from the Sound File Player.

  • SpeakNoticer: Events associated with the Asio Speak Notifier (for Mimic).

  • Tally: Events to/from the tally control.

  • TemplateSharing: Template sharing events.

  • Texting: Events to/from the subtitles control.

  • TimeDisplay: Events associated with Timing Info display.

  • Timing: For Timing Display logging.

  • UserMessage: Logs user messages from Control Commands.

  • VideoServer: Events to/from the video server controllers.

  • VideoSwitcher: Events to/from the video switcher control.

  • VideoWallController: Events to/from the video wall control.

  • VirtualSet: Principally for BrainstormVS component.

  • WeatherControl: Events to/from the weather control.

Verbose Logging

Similar to other Viz Mosart applications, the Viz Mosart GUI can be configured to perform verbose logging of application events. Verbose logging is only intended for troubleshooting, so by default it is turned off.

Note: When the Viz Mosart GUI is running on a different machine than the Viz Mosart server (which is the normal case), a selected subset of local log messages are transferred, via the Remote Control Service, to the Viz Mosart server, enabling these messages to be logged in the Viz Mosart Server logs.

It is important to note that when the Viz Mosart GUI runs on a separate machine, filtering of verbose log messages will not, by default work as intended.

The unwanted effect is all verbose log messages are transferred to the Viz Mosart server, even if verbose logging is turned off in the Viz Mosart GUI.

  • This issue was addressed in Viz Mosart 5.5, but as the setting is local and preserved at upgrade, any earlier (not a clean installation of 5.5) version of Viz Mosart 
    requires a configuration change in the Viz Mosart GUI configuration file
    %localappdata%/Mosart_Medialab/MosartMultiGui.exe_.../user.config
    changing "VerboseLevel" from the default "0" to "-1".

All Viz Mosart Applications have a set of configuration properties to control what events are passed to the Log Service:

  • Verbose:

    • Turns on/off verbose logging.

  • VerboseIgnoreEvents:

    • A comma separated list of log event types to ignore during verbose logging.

    • Default: <empty> (no events are ignored).

  • VerbosePassEvents:

    • A comma separated list of log event types that are passed during verbose logging.

    • Default: <empty> (all events are passed).

      Example: Setting VerbosePassEvents = “VideoServer,AudioMixer”
      ensures that only verbose events to/from video servers and audio mixer are passed to the Log Service.

As-run Log

This log stream contains events connected to content that has been on-air, typically all video and graphic content. The Log Service may be configured to extract information from the as-run log, for input into media asset management or presentation automation systems. All events in the as-run log stream are classified according to the event type, as shown below:

  • CROSSPOINT: Issued as response to a crosspoint change from a tally feedback.

  • LOG: Issued at start and stop of logging to the as-run log stream.

  • NEXT_STORY: Issued when the next story element for on-air is changed.

  • RUNDOWN_RELOAD: Issued when the rundown is reloaded.

  • STORY_ENDED: Issued when the current story is ended.

  • STORY_STARTED: Issued when the current story is started.

  • TAKE_EXTERNALS: Issued when externals are taken on air.

  • TAKE_ITEM: Issued when a story item is taken on air.

Note: Customer specific as-run Log Adapters will use a unique syntax.

MOS Log

This log stream contains events communicated between a MOS-based Newsroom Computer System and Manus Administrator.

Log Adapters

Each log stream may be processed simultaneously by a set of log adapters as illustrated in the figure below:


In this example, three log streams are configured as follows:

  • The Technical Log Stream has one adapter:

    • BasicXmlFile: A default adapter that creates XML-based log files.

  • The AsRun Log Stream has two adapters:

    • BasicXmlFile: As above, the default adapter for creating XML-based log files.

    • Custom adapter: Processes the as-run log stream according to site specific-requirements. These adapters are custom built, and not included in the Viz Mosart installer.

  • The MOS Log Stream has one adapter:

    • BasicXmlFile: As above.

Configuring Logging

You can configure log content, granularity and naming.

Configuration Files

Each log has its own configuration file, enabling adjustment of log properties like filename, or how often a new log file is generated.
The log configuration files are located in the following directory:

%ProgramFiles%\Mosart Medialab\Mosart Server\ConfigurationFiles

The log configuration files are named as follows:

  • Technical log: LogRepositoryConfig.xml.

  • MOS log: MosLogRepositoryConfig.xml.
    This log file comprises three segments:

    • Adapters: Configuration of one or more log adapters.

    • FilterBank: Configuration of optional log filters.

    • Properties: Configuration of log properties.

  • As-run log: AsRunLogRepositoryConfig.xml.

Example of an As-run Log

A sample log configuration file for the as-run log stream:

<?xml version=”1.0” encoding=“utf-8“ ?>
<LogRepositoryConfig>
<!- No specified adapters shall result in default adapter -->
<Adapters>
<!- Default adapter -->
<Adapter type=“BasicXmlFileAdapter“ name=“AsRunLog“ />
<!- Custom adapter -->
<Adapter type=“LogAdapterDRMorpheus“ name=“DRMorpheus“ configuration=“DRMorpheusAsRunLogConfig.xml“ assembly=“LogAdapterDRMorpheus.dll“ />
</Adapters>
<!-- Empty filter bank shall result in logging of all events -->
<FilterBank>
<LogFilter event=“TAKE_ITEM“ pattern=““ action=“Log“ />
<LogFilter event=“LOG“ pattern=““ action=“Ignore“ />
<LogFilter event=“LOG“ pattern=“.*break.*“ action=“Break“ />
</FilterBank>
<Properties>
<item name=“AdapterType“ value=“BasicXmlFileAdapter“ />
<item name=“RepositoryPath“ value=“C:\MMLogs\AsRunLog“ />
<item name=“FilePrefix“ value=“AsRunLog“ />
<item name=“MaxDaysInRepository“ value=“60“ />
<item name=“MaxFileNumberOfEvents“ value=“10000“ />
<item name=“MaxFileTimePeriodHours“ value=“24“ />
</Properties>
</LogRepositoryConfig>

Tip: For customer specific as-run log files, see section Custom-built AsRunLog Adapters.

Configuration File Properties

All configuration files have the same set of properties:

  • AdapterType: The default log adapter. Default: BasicXmlFileAdapter.

  • RepositoryPath: The directory where the log files are stored. Default: C:\MMLogs, C:\MMLogs\AsRunLog, C:\MMLogs\MosLog.

  • FilePrefix: Custom file prefix for the log file names. Default: Log, AsRunLog, MosLog.

  • MaxDaysInRepository: Maximum number of days before the logfile is automatically deleted. Default: 60.

  • MaxFileNumberOfEvents: Maximum number of log events before a new logfile is created. Default: 10000.

  • MaxFileTimePeriodHours: Maximum number of hours before a new logfile is created. Default: 24.

  • UseLocalTime: If set to true, all timestamps are converted from UTC to local time before being passed to the log adapter. Default: False.

Configuration of Log Adapters

A log stream may have one, or several, log adapters. These are configured in the Adapters section as shown in Example of an As-run Log above.
If the Adapters section is omitted, or empty, one single log adapter of the default type is created.

Important note: When initially configuring a new log adapter, after an installation or upgrade, you must complete all configurations before installing and starting the Mosart Server.
If this sequence is not observed, the log adapter will not perform as expected. See Troubleshooting Log Adapters.

The default log adapter type is configurable in the Properties section, but is normally set to BasicXmlFileAdapter.

A single adapter has the following attributes:

  • type: The adapter type.

  • name: Name used for identifying the log activities associated with the adapter.

  • configuration: Optional configuration file for the log adapter. If no configuration file is given the log adapter inherits the values from the current configuration file.

  • assembly: Optional .Net assembly (.dll) containing the log adapter. This enables dynamic log adapters, loaded at run-time.

Configuration of Log Filters

A log adapter may have a set of filters that remove log events before they are handled by the adapter.

If no filters are defined, or the filter bank is empty, all events pass to the event handling log adapter.

Each filter has three attributes:

  • event: Which event the filter applies to. Events are listed in sections Technical Log and AsRun Log. Setting this attribute to “DEFAULT“ changes the settings for the default filter bank. The default filter is used for all events that do not have a designated filter bank.

  • pattern: Optional regular expression pattern that is applied to the log event value. The filter only returns the corresponding action if the pattern returns a match. If no pattern is given, the corresponding action is returned for all events.

  • action: The action to return. The following actions are available:

    • Ignore: The event is ignored.

    • Log: The event is logged (forwarded to the log adapter).

    • Break: The event is treated as a break event.

Example of Filtering a Technical Log Stream

<!- Empty filter bank, passes all log events -->
<FilterBank />
<!- Only passes events of type “MosConnection“ -->
<FilterBank>
<LogFilter event=“DEFAULT“ action=“Ignore“ />
<LogFilter event=“MosConnection“ action=“Log“ />
</FilterBank>
<!- Passes all log events, but treats “InstantCollect“ events and all Events containing the word “break“ as a break event -->
<FilterBank>
<LogFilter event=“InstantCollect“ pattern=“” action=“Break“ />
<LogFilter event=“DEFAULT“ pattern=“.*break.*“ action=“Break“ />
</FilterBank>
<!- Passes all log events, but ignores all GUI events -->
<FilterBank>
<LogFilter event=“Gui“ pattern=“” action=“Ignore“ />
</FilterBank>

Customizing an As-run Log Adapter

Customizing is performed on a site-specific basis, by Vizrt staff. Some samples are presented below for reference.
Customization is based on the standard AsRunLogRepositoryConfig.xml as presented in Example of an As-run Log, and then include two more configuration files that can contain elements that override this standard configuration file.

  • xxxAsRunLogConfig.xml, (Overrides AsRunlogRepositoryConfig)

  • xxxSchedulerConfig.xml, (Overrides xxxAsRunLogConfig)

Note: xxx is here substituted for the actual customer’s name.

Customization Example: xxxAsRunLogConfig.xml

<?xml version=”1.0“ encoding=“utf-8“ ?>
<LogRepositoryConfig>
<FilterBank>
<!-- Triggers all “NEXT_BREAK“ events as breaks... -->
<LogFilter event=“NEXT_BREAK“ pattern=“” action=“Break“ />
<LogFilter event=“STORY_STARTED“ pattern=“BREAK“ action=“Break“ />
<LogFilter event=“STORY_ENDED“ pattern=“BREAK“ action=“Break“ />
</FilterBank>
<Properties>
<!-- Special configuration for the xxx log adapter -->
<item name=“SchedulerConfig“ value=“xxxSchedulerConfig.xml“ />
<!-- These values may be overridden in SchedulerConfig -->
<item name=“RepositoryPath“ value=“C:\MMLOGS\AsRunLog\xxx“ />
<item name=“FilePrefix“ value=“UPD“ />
<!-- Set to true to use local time codes instead of UTC -->
<item name=“UseLocalTime“ value=“True“ />
<!-- Clean up command for files. Set to 0 if no cleanup -->
<item name=“MaxDaysInRepository“ value=“0“ />
</Properties>
</LogRepositoryConfig>

Customization Example: xxxSchedulerConfig.xml

<?xml version=“1.0“ encoding=“utf-8“ ?>
<SchedulerConfig>
<ShowPrefix>xxx</ShowPrefix>
<FilePattern>{Name}_{Prefix}_{Date}_{DayOfWeek}_{Intime}_{Rundown}_{StoryTitle}_{StoryId}_{StoryIndex}</FilePattern>
<Directory>C:\MMLOGS\AsRunLog\xxx</Directory>
<Extension>xml</Extension>
<DayOfWeek>Dim,Lun,Mar,Mer,Jeu,Ven,Sam</DayOfWeek>
<!--<DayOfWeek>Dimanche,Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi</DayOfWeek> -->
<NoLoggingDuringRehearsal>true</NoLoggingDuringRehearsal> <!-- If false, logging are permitted during rehearsal -->
<UseAbsoluteTime>true</UseAbsoluteTime> <!-- If false, time codes are relative to show start -->
<MinLogDelay>-1</MinLogDelay> <!-- Specifies a minimum logging delay after configured show start (in seconds) -->
<OneFilePerStory>true</OneFilePerStory> <!-- True if a file is to be generated per story -->
<FlushAtStoryEnd>false</FlushAtStoryEnd> <!-- True if file should be flushed when story ends. Default when show ends. -->
<IgnoreEmptyShows>true</IgnoreEmptyShows> <!-- True if file should be flushed when story ends. Default when show ends. -->
</SchedulerConfig>

Starting-up a Log Adapter

After modifying or creating your log adapter as described in the sections above, you must ensure that Mosart Logging Service is running on the machine where the Viz Mosart UI and Viz Mosart server are installed.

There are two alternatives:

  1. Re-install (UI) Mosart Logging Service or

  2. Stop the (UI) Mosart Logging Service and start the Mosart Logging Service as console, or alternatively, configure to start it as as service.

Troubleshooting Log Adapters

Issues with log adapters usually appear in the Viz Mosart UI with errors/warnings mentioning the service Mosart Server Log as unavailable.

Log adapter configuration will usually be made after an initial installation or upgrade that is introducing a requirement for a new/changed log adapter.

  • It is essential to wait with installation of the Mosart Server (from the installer bundle) till the log adapter configuration is complete, and changed files saved in the C:\ChannelTemplates folder.
    If you did not observe this installation sequence, simply uninstall and re-install Mosart Server.

Verifying Log Adapter Performance

If you have unexpected logging service events, you can check the status of a log adapter.

  1. Stop Mosart Logging Service.

  2. Ensure that the affected logging configuration files, that initially reside in the Program Files (x86)\Mosart Medialab\Mosart Server\ folder
    - AsRunLogRepositoryConfig.xml
    - LogAdapterxxxConfig.xml (here xxx is the naming of your new log adapter)
    already exist in either:
    - under %ProgramData%\Mosart Medialab folder
    or
    C:\ChannelTemplates folder
    (but never in both places! Remove the oldest).

  3. Ensure that in AsRunLogRepositoryConfig.xml, the section corresponding to your log adapter (for example <!-- Adapter for Viz One -- ...)
    is uncommented around the config parameters.

  4. Save the file if you had to make changes.

  5. Open your log adapter config file (LogAdapterxxxConfig.xml) and ensure the configurations match your system and save, if you made any changes.

  6. In Program Files (x86)\Mosart Medialab\Mosart Server\, start the Mosart as-run service, MMAsRunLogService.exe as a console.

  7. In the console, check that your log adapter initialized, and that it has successfully read the settings from the configuration file.
    There is plenty of useful information in this readout. Example:

  8. After this verification step, close the console.

  9. Start MMAsRunLogService as a service.